web-dev-qa-db-ja.com

csprojファイルの<Use64BitIISExpress />要素の目的は何ですか

Webアプリケーションプロジェクトを編集すると、Visual Studio 2017(15.3.1)はcsprojファイルの<Use64BitIISExpress />の下にProject/PropertyGroup要素を追加します。文書が見つからない、目的は何か、それが何かに影響を与えるかどうかは、提示されたとき(属性なしで)見つかりません。

私が見つけることができた結果は、同じ名前のレジストリ値に関する言及だけでした。

誰かがこの要素が何に役立つのか知っていますか? Visual Studio 2017の最近の更新の一部で導入されましたか?

43
Ondrej

プロジェクトの[プロパティ]ページに変更を加えた後、驚くことではないが、このエントリに気付きました。 [プロパティ]ページの[Web]セクションの下に、[サーバー]というセクションが表示されます。デバッグに正しいポート番号を使用するように「プロジェクトURL」を変更した後、このエントリが表示されました(具体的にそのオプションを変更したためではなく、表示されていることに気づいたときです)。

<Use64BitIISExpress />

このセクションでは、「IIS Express」または「外部ホスト」のいずれかを選択できます。そのドロップダウンリストの隣に、「ビットネス」用の別のドロップダウンリストがあります。現在、鉱山は「デフォルト」に設定されており、プロジェクトファイルのエントリが空の要素として表示されます。 「ビット数」を「x64」に変更した後、プロジェクトファイルのエントリは次のように変更されました。

<Use64BitIISExpress>true</Use64BitIISExpress>

「ビット数」を「x86」に変更すると、次の結果になります。

<Use64BitIISExpress>false</Use64BitIISExpress>

「ビットネス」を「デフォルト」に戻すと、再び空の要素になります。

<Use64BitIISExpress>
</Use64BitIISExpress>

これは、「ドキュメントはどこにありますか?」というあなたの質問に対応していないことを理解しています。私も、この属性に関連するMSBuildドキュメントを見つけることができませんでした。しかし、正式な公式ドキュメントを待ち望んでいる間、Projectプロパティから選択したオプションに基づいて属性がどこから来て、どのように機能するかを注意する価値があると思いました。

42
Urk

(かなり明白な)その目的は、IIS Expressを64ビットモードで開始することです。これは、IISのアプリケーションプールでのみ64ビットを設定するのと同等です。

プロジェクトに64ビットでのみ実行されるDLLに依存するモードがある場合、これは設定する必要があるときです。VS2013以降で使用可能です。

おそらく、純粋な64ビットアプリケーション用にプロセスを再アタッチする代わりにF5デバッグを行う場合に便利です。

この started showing up in the config files since VS2017 Visual Studioの移植性に伴うすべての変更のため。 (VSCode、Visual Studio Mac、Xamarinなど)

8
Piotr Kula