Я добавил Microsoft.Owin.Host.SystemWeb в проект веб-форм существующих Asp.Net (для использования Azure аутентификации Active Directory) и получитьОшибка OwinBuilder.GetAppStartup «Не удалось загрузить файл или сборку» - как найти, где вызывается сборка?
[FileNotFoundException: Не удалось загрузить файл или сборку «PostSharp .Sdk, Version = 2.1.0.0, Culture = neutral, PublicKeyToken = b13fd38b8f9c99d7 'или одна из его зависимостей. Система не может найти указанный файл.]
System.ModuleHandle.ResolveType (модуль RuntimeModule, Int32 typeToken, IntPtr * typeInstArgs, Int32 typeInstCount, IntPtr * methodInstArgs, Int32 methodInstCount, тип ObjectHandleOnStack) +0
System.ModuleHandle .ResolveTypeHandleInternal (RuntimeModule модуль, Int32 typeToken, RuntimeTypeHandle [] typeInstantiationContext, RuntimeTypeHandle [] methodInstantiationContext) +191
System.Reflection.RuntimeModule.ResolveType (Int32 metadataToken, Тип [] genericTypeArguments, тип [] genericMethodArguments) +162
System.Reflectio n.CustomAttribute.FilterCustomAttributeRecord (CustomAttributeRecord caRecord, MetadataImport сфера, сборка & lastAptcaOkAssembly, RuntimeModule decoratedModule, MetadataToken decoratedToken, RuntimeType attributeFilterType, булева mustBeInheritable, Object [] атрибуты, IList derivedAttributes, RuntimeType & AttributeType, IRuntimeMethodInfo & CTOR, Boolean & ctorHasParameters, булевы & isVarArg) +148
System.Reflection.CustomAttribute.GetCustomAttributes (RuntimeModule decoratedModule, Int32 decoratedMetadataToken, Int32 pcaCount, RuntimeType attributeFilterType, булева mustBeInheritable, IList derivedAttributes, булева isDecoratedTargetSecurityTransparent) +604 System.Reflection.CustomAttribute.GetCustomAttributes (RuntimeAssembly сборки, RuntimeType caType) +144
Owin.Loader.DefaultLoader.SearchForStartupAttribute (Строка FriendlyName, IList1 errors, Boolean& conflict) +189
1 ошибки) +68
Owin.Loader.DefaultLoader.GetDefaultConfiguration(String friendlyName, IList
Owin.Loader.DefaultLoader.LoadImplementation (Строка startupName, IList1 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 (Т & мишени, Логическое & инициализирован, объект & SyncLock, Func`1 valueFactory) +137
Microsoft.Owin.Host.SystemWeb.OwinHttpModule.Init (HttpApplication контекста) +172
System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS (контекст IntPtr контекст приложение, HttpContext, MethodInfo [] обработчики) +618
System.Web.HttpApplication.InitSpecial (HttpApplicationState состояние, MethodInfo [] обработчики, IntPtr контекст приложение , Контекст HttpContext) +172
System.Web.HttpApplicationFactory.GetSpecialApplicationInstance (IntPtr appContext, контекст HttpContext) +402
System.Web.Hosting.PipelineRuntime.InitializeApplication (IntPtr контекст приложение) +343
Как я понимаю Owin.Loader.DefaultLoader.SearchForStartupAttribute использует отражение и не может загружаться некоторым атрибут, но не сообщает, какой атрибут сканирует и где он находится.
Наш проект использует PostSharp для кэширования и регистрации, но (насколько я знаю) мы используем version = "4.3.21", а один атрибут относится к "3.0.26.9", но в любом случае должен быть перенаправлен на 4.3.21 из-за
<bindingRedirect oldVersion="0.0.0.0-4.3.21.0" newVersion="4.3.21.0" />
Я искал исходный код для «PostSharp.Sdk», но не нашел ссылок.
Быстрый просмотр в демонтаже с использованием JetBrain DotPeek также не показывал ссылок на PostSharp.Sdk. Обратите внимание, что версия = 2.1 очень старая.
Есть ссылки http://support.sharpcrafters.com/discussions/problems/2275-postsharp-is-not-compatible-with-microsoftowinsecurity-latest-version и issue with PostSharp cannot find assembly for system.web.mvc, version=3.0.0.0 when no projects reference it, которые выглядят одинаково, но они имеют противоположную проблему: PostSharp не смог разрешить DLL MVC или Owin.
Может ли кто-нибудь предложить, как определить, какой атрибут (и на каком классе) ссылается на PostSharp.Sdk?
Я считаю самим, что ищет SearchForStartupAttribute -scan сборка (-ий) для пользовательских атрибутов и регистрирует все найденное. Любые лучшие/более простые идеи?
Любая удача в ex.InnerException? – Zen