2012-09-13 1 views
9

MVC 4でコントロールアプリケーションを構築していて、本当に面倒な問題が発生しました。私はプロジェクトをローカルでデバッグするときは正常に動作します。私はテストサーバー(Windows Server 2008のR2)次の改行にプロジェクトを展開するときしかし、:ServerManagerのコンストラクタがテスト環境でクラッシュする

ServerManager manager = new ServerManager("%windir%\\system32\\inetsrv\\config\\applicationhost.config"); 

すべてのヘルプは非常に高く評価されます!

スタックトレース:

[ArgumentNullException: Value cannot be null. 
Parameter name: type] 
    System.Activator.CreateInstance(Type type, Boolean nonPublic) +14156918 
    System.Activator.CreateInstance(Type type) +11 
    Microsoft.Web.Administration.ConfigurationManager..cctor() +96 

[TypeInitializationException: The type initializer for 'Microsoft.Web.Administration.ConfigurationManager' threw an exception.] 
    Microsoft.Web.Administration.ServerManager..ctor(String applicationHostConfigurationPath) +51 
    ..HomeController.ApplicationPools() in ..HomeController.cs:26 
    lambda_method(Closure , ControllerBase , Object[]) +79 
    System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary 2 parameters) +261 
    System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +39 
    System.Web.Mvc.Async.<>c__DisplayClass42.<BeginInvokeSynchronousActionMethod>b__41() +34 
    System.Web.Mvc.Async.<>c__DisplayClass39.<BeginInvokeActionMethodWithFilters>b__33() +124 
    System.Web.Mvc.Async.<>c__DisplayClass4f.<InvokeActionMethodFilterAsynchronously>b__49() +837307 
    System.Web.Mvc.Async.<>c__DisplayClass37.<BeginInvokeActionMethodWithFilters>b__36(IAsyncResult asyncResult) +15 
    System.Web.Mvc.Async.<>c__DisplayClass2a.<BeginInvokeAction>b__20() +33 
    System.Web.Mvc.Async.<>c__DisplayClass25.<BeginInvokeAction>b__22(IAsyncResult asyncResult) +837892 
    System.Web.Mvc.<>c__DisplayClass1d.<BeginExecuteCore>b__18(IAsyncResult asyncResult) +28 
    System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +15 
    System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +65 
    System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +15 
    System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +51 
    System.Web.Mvc.<>c__DisplayClass8.<BeginProcessRequest>b__3(IAsyncResult asyncResult) +42 
    System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +15 
    System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +51 
    System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +606 
    System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +288 

答えて

17

それはMicrosoft.Web.Administrationの間違ったバージョンが参照されたことが判明しました。正しいバージョンは7.0.0.0です。 7.9.0.0は、なぜ私の開発環境で動作するのかを説明するIIS Expressのためのものです。

+2

Visual StudioのDLLのプロパティが "7.0.0.0"となっていても、csprojファイルをメモ帳に開いて、7.9.0.0としていました。 – jwanagel

+0

答えをいただきありがとうございます、これは私に何がうまくいかなかったか把握しようと時間を節約しました! – Alex

関連する問題