asp.net/web アプリケーション プロジェクトの展開プロジェクトを使用して行うのと同様に、Visual Studio 2010 で C# コンソール アプリケーションの構成を置き換える方法はありますか? テスト環境と本番環境で使用する接続文字列とメール設定が異なるため、デプロイ時に設定を簡単に切り替える方法が必要です。
2 に答える
以下に示すように、#ifDEBUGを使用することもできます。
using System;
namespace IfDebug
{
class Program
{
static void Main(string[] args)
{
string connectionString;
#if DEBUG
connectionString = "a";
#else
connectionString = "b";
#endif
Console.WriteLine(connectionString);
Console.ReadLine();
}
}
}
Solution Configuration
ダイアログボックスがに設定されている場合Debug
は「a」が印刷され、そうでない場合は「b」が印刷されます。
Microsoftはここでそれをよりよく説明しています。
はい、できます。プロジェクトに「config1」と「config2」のような 2 つのフォルダーを作成する必要があります。必要な設定に適した app.config ファイルをそれぞれに入れます。「Release1」と「Release2」のように 2 つのプロジェクト構成を作成します。csproj ファイルをエディターで開き、両方のファイルを含む行を探します。各 xml ノードで、現在選択されている構成を確認し、各ファイルをコンパイルするかどうかを VS に指示できます。その例は見つかりませんでしたが、「複数の app.config」を探してみてください。
編集:これを見つけたばかりで、見栄えがします。VS が web.config のような app.config で変換を使用するためのアドイン http://www.hanselman.com/blog/SlowCheetahWebconfigTransformationSyntaxNowGeneralizedForAnyXMLConfigurationFile.aspx