4

在安装 WebActivatorEx nuget 包后尝试访问页面时,我不断收到以下 ArgumentException。

Server Error in '/PharmaDotnet/ux' Application.
The type Pharma.Mvc.Startup doesn't have a static method named Configuration
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.ArgumentException: The type Pharma.Mvc.Startup doesn't have a static method named Configuration

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:


[ArgumentException: The type Pharma.Mvc.Startup doesn't have a static method named Configuration]
   WebActivatorEx.BaseActivationMethodAttribute.InvokeMethod() +166
   WebActivatorEx.ActivationManager.RunActivationMethods(Boolean designerMode) +445
   WebActivatorEx.ActivationManager.Run() +105

[InvalidOperationException: The pre-application start initialization method Run on type WebActivatorEx.ActivationManager threw an exception with the following error message: The type Pharma.Mvc.Startup doesn't have a static method named Configuration.]
   System.Web.Compilation.BuildManager.InvokePreStartInitMethodsCore(ICollection`1 methods, Func`1 setHostingEnvironmentCultures) +12981643
   System.Web.Compilation.BuildManager.InvokePreStartInitMethods(ICollection`1 methods) +12981352
   System.Web.Compilation.BuildManager.CallPreStartInitMethods(String preStartInitListPath, Boolean& isRefAssemblyLoaded) +280
   System.Web.Compilation.BuildManager.ExecutePreAppStart() +172
   System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException) +1151

[HttpException (0x80004005): The pre-application start initialization method Run on type WebActivatorEx.ActivationManager threw an exception with the following error message: The type Pharma.Mvc.Startup doesn't have a static method named Configuration.]
   System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +12980692
   System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +159
   System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +12820285


Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.34249 

如果我删除 WebActivatorEx 包,一切都会再次运行,但我需要 WebActivatorEx 才能使用 DI。

我在网上找不到任何东西来暗示问题可能是什么。我尝试Startup在命名空间中创建一个类,该类Pharma.Mvc调用了一个静态方法Configuration,但似乎无法解决问题。

此外,在我安装包之前,没有Pharma.Mvc命名空间,也没有Startup类。所以我真的很困惑为什么会这样。

当我构建应用程序时,我的目标是 ASP.NET 4.5.1 框架,但是我注意到它在底部的堆栈跟踪中读取Microsoft .NET 4 Framework Version:4.0.30319,我不确定这是否正确。

4

2 回答 2

15

我正在使用带有 WebApi 的 OWIN 中间件,因此需要一个具有以下程序集属性的 Startup 类 [程序集:OwinStartup(typeof(Startup))]

我还为 WebApi 使用了 Swagger 接口,并通过 nuget 包安装了它。安装添加了具有以下程序集属性的 SwaggerConfig 类 [程序集:PreApplicationStartMethod(typeof(SwaggerConfig), "Register")]

启动 WebApi 时,程序集属性导致此异常。我从 SwaggerConfig 类中删除了程序集属性,一切正常。

于 2016-10-14T20:44:26.223 回答
5

原来是 bin 文件夹中的旧程序集,不再引用,导致问题。

于 2015-06-26T15:48:57.303 回答