上記のオプション以外にも、いくつかのソリューションがあります。
1.プロジェクトファイル(.CsProj)ファイルの変更
MSBuildは、EnvironmentName
展開する環境ごとに適切な環境変数を設定するのに役立つプロパティをサポートしています。環境名は、公開フェーズ中にweb.configに追加されます。
プロジェクトファイル(* .csProj)を開き、次のXMLを追加するだけです。
<!-- Custom Property Group added to add the Environment name during publish
The EnvironmentName property is used during the publish for the Environment variable in web.config
-->
<PropertyGroup Condition=" '$(Configuration)' == '' Or '$(Configuration)' == 'Debug'">
<EnvironmentName>Development</EnvironmentName>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' != '' AND '$(Configuration)' != 'Debug' ">
<EnvironmentName>Production</EnvironmentName>
</PropertyGroup>
上記のコードはDevelopment
、デバッグ構成の場合、または構成が指定されていない場合、環境名を追加します。その他の構成の場合、環境名はProduction
生成されたweb.configファイルに含まれます。詳細はこちら
2.パブリッシュプロファイルにEnvironmentNameプロパティを追加します。
<EnvironmentName>
プロパティをパブリッシュプロファイルに追加することもできます。にある発行プロファイルファイルを開きます。これProperties/PublishProfiles/{profilename.pubxml}
により、プロジェクトの発行時にweb.configに環境名が設定されます。詳細はこちら
<PropertyGroup>
<EnvironmentName>Development</EnvironmentName>
</PropertyGroup>
3. dotnet publishを使用したコマンドラインオプション
さらに、プロパティEnvironmentName
をコマンドラインオプションとしてコマンドに渡すことができますdotnet publish
。次のコマンドにはDevelopment
、web.configファイルのように環境変数が含まれます。
dotnet publish -c Debug -r win-x64 /p:EnvironmentName=Development