C# ASP.NET "InvalidProgramException: Common Language Runtime обнаружил недопустимую программу"
Я получаю вышеуказанное исключение, пытаясь "начать с отладки" веб-приложения ASP.NET MVC, используя.NET 4.5 и нацеленного на "Любой процессор". Все остальные вопросы, которые я нашел относительно этой проблемы, похоже, точно знают, где в приложении возникает проблема, но трассировка стека ничего не значит для меня, так как она не затрагивает мой собственный написанный код (см. Ниже:)
[InvalidProgramException: Common Language Runtime detected an invalid program.]
System.Windows.Markup.XmlnsPrefixAttribute..ctor(String xmlNamespace, String prefix) +0
System.Reflection.CustomAttribute._CreateCaObject(RuntimeModule pModule, IRuntimeMethodInfo pCtor, Byte** ppBlob, Byte* pEndBlob, Int32* pcNamedArgs) +0
System.Reflection.CustomAttribute.CreateCaObject(RuntimeModule module, IRuntimeMethodInfo ctor, IntPtr& blob, IntPtr blobEnd, Int32& namedArgs) +38
System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeModule decoratedModule, Int32 decoratedMetadataToken, Int32 pcaCount, RuntimeType attributeFilterType, Boolean mustBeInheritable, IList derivedAttributes, Boolean isDecoratedTargetSecurityTransparent) +589
System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeAssembly assembly, RuntimeType caType) +103
System.Reflection.RuntimeAssembly.GetCustomAttributes(Boolean inherit) +33
Owin.Loader.DefaultLoader.SearchForStartupAttribute(String friendlyName, IList`1 errors, Boolean& conflict) +294
Owin.Loader.DefaultLoader.GetDefaultConfiguration(String friendlyName, IList`1 errors) +105
Owin.Loader.DefaultLoader.LoadImplementation(String startupName, IList`1 errorDetails) +161
Owin.Loader.DefaultLoader.Load(String startupName, IList`1 errorDetails) +51
Microsoft.Owin.Host.SystemWeb.OwinBuilder.GetAppStartup() +238
Microsoft.Owin.Host.SystemWeb.OwinHttpModule.InitializeBlueprint() +103
System.Threading.LazyInitializer.EnsureInitializedCore(T& target, Boolean& initialized, Object& syncLock, Func`1 valueFactory) +86
System.Threading.LazyInitializer.EnsureInitialized(T& target, Boolean& initialized, Object& syncLock, Func`1 valueFactory) +72
Microsoft.Owin.Host.SystemWeb.OwinHttpModule.Init(HttpApplication context) +104
System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +418
System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +172
System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +336
System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +296
[HttpException (0x80004005): Common Language Runtime detected an invalid program.]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +9930568
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +101
System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +254
Может кто-нибудь сказать мне, как я могу узнать, где и когда выдается исключение? Он даже не загружает домашнюю страницу перед тем, как ее выбросить, и не врывается в код файла startup.cs, так что мне нечем заняться.
Я довольно новичок в разработке ASP.NET MVC, поэтому отладка исключений, с которыми ранее не сталкивались, довольно сложна, и я очень признателен за любую помощь по этому вопросу!
ОБНОВЛЕНИЕ: я пытаюсь запустить веб-приложение, созданное в Visual Studio 2013 в Firefox, с использованием IIS Express на 64-разрядном компьютере под управлением Windows 8.1 Professional, той же конфигурации, которая работала для того же веб-приложения неделю назад. С тех пор я внес изменения в модели и контроллеры MVC, но не изменил ничего, что могло бы повлиять на его развертывание / отладку в такой степени. Мне просто нужно знать, как получить больше информации о том, куда выдается исключение.
1 ответ
На сайте Microsoft есть статья:
Основная причина в том, что вы пытаетесь запустить программу в среде Windows XP.
Код ошибки 0x80004005
Эта проблема может возникнуть, если файл, который
Windows Product Activation (WPA)
Требуется поврежден или отсутствует. Это происходит, если выполняются одно или оба из следующих условий: - Сторонняя утилита резервного копирования или антивирусная программа мешает установке Windows XP. - файл, которыйWPA
Требуется - это изменение вручную.