2013-08-08 5 views
11

MSDN documentationには、この値がどのように、いつ、なぜ、なぜtrueに設定されているかは説明されていません。ASP.NETでは、HostingEnvironment.IsDevelopmentEnvironmentの値はどのように決まりますか?

web.configに<configuration debug="false" />を設定してもプロパティがfalseに設定されたり、machine.configに<deployment retail="true" />が設定されたりすることはありません。

IIS ExpressでVisual Studio 2012からテスト用Webサイトを実行していますが、IISが正しくインストールされていません。

編集: オスカーの答えを確認してさらに調査をしたところ、<deployment retail="true" />を設定すると上書きする必要があるようですので、この質問をしたときに正しいフレームワークのmachine.configに設定していない可能性があります。

答えて

7

次のように、このプロパティの逆コンパイルコードは次のとおりです。

public static bool IsDevelopmentEnvironment 
{ 
    get 
    { 
     return ((AppDomain.CurrentDomain.GetData(".devEnvironment") as bool?) == true); 
    } 
} 

しかし、この値が設定された場合、私はフィンができませんでした... :-(

+7

好奇心は、私はシステムのこの[解体を発見しました。 Web](http://dotnetinside.com/framework/v4.0.30319/System.Web/ApplicationManager)には、 'ApplicationManager.EnvironmentInfo.GetWasLaunchedFromDevelopmentEnvironment()'メソッドがあります。環境変数DEV_ENVIRONMENTを調べます1に設定すると、設定はtrueになります。 –

関連する問題