Овин показывает желтый экран смерти - PullRequest
2 голосов
/ 23 апреля 2019

У нас есть старый проект веб-формы, и мы хотим добавить в него OWIN. Класс Startup добавлен в проект. У нас есть и ассемблерный атрибут, и ключ приложения config owin:appStartup. Мы упомянули Microsoft.Owin.Host.SystemWeb версию 4.0.0.0 в нашем проекте. Всякий раз, когда OWIN хочет обнаружить свой класс StartUp, мы получаем Желтый Экран Смерти с показанным FormatException (строка DateTime не в правильном формате) Вот трассировка стека исключения:

[FormatException: The string was not recognized as a valid DateTime. There is an unknown word starting at index 20.]
   System.DateTimeParse.Parse(String s, DateTimeFormatInfo dtfi, DateTimeStyles styles) +14272006
   System.Windows.Forms.TypeLibraryTimeStampAttribute..ctor(String timestamp) +53
   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) +48
   System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeModule decoratedModule, Int32 decoratedMetadataToken, Int32 pcaCount, RuntimeType attributeFilterType, Boolean mustBeInheritable, IList derivedAttributes, Boolean isDecoratedTargetSecurityTransparent) +787
   System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeAssembly assembly, RuntimeType caType) +144
   Owin.Loader.DefaultLoader.SearchForStartupAttribute(String friendlyName, IList`1 errors, Boolean& conflict) +190
   Owin.Loader.DefaultLoader.GetDefaultConfiguration(String friendlyName, IList`1 errors) +68
   Owin.Loader.DefaultLoader.LoadImplementation(String startupName, IList`1 errorDetails) +89
   Owin.Loader.DefaultLoader.Load(String startupName, IList`1 errorDetails) +30
   Microsoft.Owin.Host.SystemWeb.OwinBuilder.GetAppStartup() +165
   Microsoft.Owin.Host.SystemWeb.OwinHttpModule.InitializeBlueprint() +37
   System.Threading.LazyInitializer.EnsureInitializedCore(T& target, Boolean& initialized, Object& syncLock, Func`1 valueFactory) +135
   Microsoft.Owin.Host.SystemWeb.OwinHttpModule.Init(HttpApplication context) +160
   System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +580
   System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +165
   System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +267
   System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +341

[HttpException (0x80004005): The string was not recognized as a valid DateTime. There is an unknown word starting at index 20.]
   System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +523
   System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +107
   System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +688

У нас есть другие проекты веб-форм, которые работают нормально, и я не могу понять, что не так с нашим проектом.

1 Ответ

3 голосов
/ 01 мая 2019

Исходя из вашей трассировки стека, где-то в вашем проекте должно быть TypeLibraryTimeStampAttribute с недопустимым вводом, который не может быть проанализирован с DateTime.

Ваша проблема, вероятно, будет решена удалением TypeLibraryTimeStampAttribute или изменением его ввода на допустимый.

...