WebActivatorEx, вызывающий ArgumentException при запуске приложения
Я продолжаю получать следующее ArgumentException при попытке посетить страницу после установки пакета nuget WebActivatorEx.
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 Framework, когда собираю приложение, однако я заметил, что в трассировке стека внизу оно читает Microsoft .NET 4 Framework Version:4.0.30319
и я не уверен, правильно ли это или нет.
2 ответа
Это оказалось старой сборкой в папке bin, на которую больше не ссылались, что вызвало проблему.
Я использую промежуточное программное обеспечение OWIN с WebApi и поэтому мне нужен класс запуска со следующим атрибутом сборки [assembly: OwinStartup(typeof(Startup))]
Я также использую интерфейс Swagger для WebApi и установил его через пакет nuget. При установке был добавлен класс SwaggerConfig со следующим атрибутом сборки [assembly: PreApplicationStartMethod(typeof(SwaggerConfig), "Register")]
Атрибут сборки вызывал это исключение при запуске WebApi. Я удалил атрибут сборки из класса SwaggerConfig, и все работает нормально.