У меня есть проект MVC с аутентификацией OAuth, каждый раз, когда я пытаюсь отладить проект, я получаю исключение FileLoadException при настройке IAppBuilder. Я установил версию 3.0.1 из Microsoft.Owin.Security.Oauth с помощью PMC, но я предполагаю, что где-то еще лежит ссылка на старую версию пакета, потому что ...Не удалось загрузить файл или сборку Microsoft.Owin.Security.OAuth, Version = 2.0.0.0
Это исключение:
Это где брошено:
public partial class Startup
{
public void Configuration(IAppBuilder app)
{
ConfigureAuth(app); //Exception is thrown here
}
}
Это мой packages.config:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Antlr" version="3.4.1.9004" targetFramework="net45" />
<package id="CommonServiceLocator" version="1.3" targetFramework="net45" />
<package id="EntityFramework" version="6.0.0" targetFramework="net45" />
<package id="jQuery" version="1.10.2" targetFramework="net45" />
<package id="jQuery.Validation" version="1.11.1" targetFramework="net45" />
<package id="log4net" version="2.0.3" targetFramework="net45" />
<package id="Microsoft.AspNet.Identity.Core" version="1.0.0" targetFramework="net45" />
<package id="Microsoft.AspNet.Identity.EntityFramework" version="1.0.0" targetFramework="net45" />
<package id="Microsoft.AspNet.Identity.Owin" version="1.0.0" targetFramework="net45" />
<package id="Microsoft.AspNet.Mvc" version="5.0.0" targetFramework="net45" />
<package id="Microsoft.AspNet.Razor" version="3.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.Web.Optimization" version="1.1.1" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi" version="5.0.0" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.HelpPage" version="5.0.0" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.Owin" version="5.0.0" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.WebHost" version="5.0.0" targetFramework="net45" />
<package id="Microsoft.AspNet.WebPages" version="3.2.3" targetFramework="net45" />
<package id="Microsoft.jQuery.Unobtrusive.Validation" version="3.0.0" targetFramework="net45" />
<package id="Microsoft.Owin" version="3.0.1" targetFramework="net45" />
<package id="Microsoft.Owin.Host.SystemWeb" version="3.0.1" targetFramework="net45" />
<package id="Microsoft.Owin.Security" version="3.0.1" targetFramework="net45" />
<package id="Microsoft.Owin.Security.Cookies" version="3.0.1" targetFramework="net45" />
<package id="Microsoft.Owin.Security.Google" version="3.0.1" targetFramework="net45" />
<package id="Microsoft.Owin.Security.OAuth" version="3.0.1" targetFramework="net45" />
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net45" />
<package id="Modernizr" version="2.6.2" targetFramework="net45" />
<package id="Newtonsoft.Json" version="7.0.1" targetFramework="net45" />
<package id="Owin" version="1.0" targetFramework="net45" />
<package id="Unity" version="3.5.1404.0" targetFramework="net45" />
<package id="WebGrease" version="1.6.0" targetFramework="net45" />
</packages>
Я попытался добавить binding redirect как таковой:
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin.Security.OAuth" PublicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-3.0.1.0" newVersion="3.0.1.0"/>
</dependentAssembly>
не могу понять, почему эта работа это не распространяется, делает Visual Studio сделать разницу между 3.0.1 и 3.0.1.0?
Я попытался удалить папки obj и bin, очистить проекты и перестроить их.
Я пробовал удалить все пакеты nuget и восстановить их.
Я попытался переустановить все пакеты Owin.
I've используется агент Ransack искать весь мой исходный каталог для любого файла, содержащего Microsoft.Owin.Security.OAuth но не нашли никаких ссылок на версии 2.0.0.0 или любой другой версии, кроме правильного 3.0.1.0.
Я застрял, любые идеи?
Недостаточно добавить к 'packages.config', добавили ли вы ссылку на эту DLL в файл' .cproj'? –
проверьте, есть ли файл Microsoft.Owin.Security.OAuth.dll в папке bin. –
Что вы подразумеваете под «добавлением в packages.config недостаточно»?Предлагаете ли вы установить его с помощью консоли диспетчера пакетов, а затем добавить ссылку вручную? В чем смысл этого? И да, версия 3.0.1 DLL находится в папке Bin. – Marcus