ここでweb.configファイルの設定の変更にまともな議論があります:
Using different Web.config in development and production environment
注:あなたは別の質問をしていますが、ライブとデバッグの設定を切り替える方法のすばらしいコレクションであり、すべての回答(IMO)には価値があります。投票された/受け入れられた最高の答えです。
個人的には、私が使用する方法は、ここで説明し、それが最も柔軟だと思うと、それはファイルベースであるが、それらは自動スワップソリューション構成に基づいてすることができますよう、設定の変更のすべてのタイプに適用されます。
http://www.hanselman.com/blog/ManagingMultipleConfigurationFileEnvironmentsWithPreBuildEvents.aspx
基本的には、ビルド前のイベントを実行して、Web設定をディスク上の別のものと置き換え、ソリューション構成名をファイル名に追加します。たとえば、私はweb.config.release、web.config.debug、さらにはweb.config.neilathomeを持っています。
次に、部分クラスを作成し、私のソリューション構成間で変更を加えることで、条件付きビットのコードとまったく同じメソッドを自分のファイルに使用します。たとえば、sync_timersettings.csは、更新コードがWebサービスを呼び出す頻度を定義するいくつかの定数を含む部分クラスです。あるいは、すべての設定をapp.settingsファイルに入れて、そうすることができます。
私は非常に柔軟な解決策を見つけました。それはjavascriptとcssの断片を入れ替えることができます。また、設定間で自分のファイルに変更を加える時間があれば、おそらくデバッグソリューション構成でデバッグしてから、ワンクリックでリリースおよび展開に切り替えることができます。
ワンさらにノート:コメントへの
#if DEBUG
pnlDebugIncludes.visible = true
#else
pnlReleaseIncludes.visible = true
#endif
応答:あなたがデバッグソリューション構成とライブ展開で一つの他のものを持っている場合
にのみ有効です。 DEBUGシンボルは、デバッグを有効にしている場合にのみ設定されるため、(私のような)ステージング、リリース、およびニッロンシスラップのソリューション構成がある場合は機能しません。回避策は、Webアプリケーションのプロパティページに移動し、[ビルド]タブで、各ビルド構成ごとに条件付きのシンボルを挿入します。 IEでは、リリースする設定をビルドし、そのタブの条件付きシンボルボックスに 'release'を設定します。次に、異なるビルド構成に対して同じ処理を行います。条件付きシンボルボックスはビルド構成に応じて自動的に変更されます。 #if条件付きコンパイル指令は期待どおりに動作します。
Bayardはこれを使用して構成間のマークアップを変更する方法の詳細について質問しました。まあ、は.aspxページ全体をスワップするために使うことができます - home.aspx.releaseとhome.aspx.debugを持っていますが、各ファイルで多くのマークアップを繰り返さなければならないということです。私の解決策は、私のアプリケーションに部分クラスを追加することです。例えば、私の「ViewImage」のページには、その中に次のクラス定義を持っている:私は、同じシグネチャを持ついくつかのクラスファイルを作成し、「ViewImage_titleset.cs.debug」と「ViewImage_titleset.csそれらを命名
public partial class ViewImage : System.Web.UI.Page
..so 「.staging:
namespace Website
{
public partial class ViewImage : System.Web.UI.Page
{
public void SetTitle()
{
Page.Title = "Running in debug mode";
}
}
}
とViewImageのためのページロードイベントでのsettitleを..calling
namespace Website
{
public partial class ViewImage : System.Web.UI.Page
{
public void SetTitle()
{
Page.Title = "Running in staging mode";
}
}
}
は、構成が整っていた建てるかに応じてタイトルを変更します。これはプログラムでページを変更している場合にのみ機能します。
このようなコードを変更するには、上記の条件付きコンパイル方法を使用し、イメージやweb.configsなどの非コードファイルを変更するためのファイルスワップ方法を予約することをお勧めします。パブリッシュ時にデプロイする代替ファイルを設定しないようにしてください。
。YUI圧縮のネットポート - ありがとう、私は自分のjsファイルを連結するこのようなものを探してきました。 –
OMG - 私はYUIの.NETポートを行ったその人を知っています。小世界など。 –