ServerManager构造函数在测试环境中崩溃



我正在MVC 4中构建一个控制应用程序,遇到了一个非常烦人的问题。当我在本地调试项目时,它运行良好。然而,当我将项目部署到测试服务器(Windows server 2008 R2)时,出现了以下中断:

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

结果是引用了错误版本的Microsoft.Web.Administration。正确的版本是7.0.0.0。7.9.0.0在某种程度上适用于IIS Express,这解释了它在我的开发环境中工作的原因。

相关内容

  • 没有找到相关文章

最新更新