Итак, я очистил некоторые ссылки DLL в проекте ASP.NET MVC, я удалил библиотеки DLL в bin и обновил исходный элемент управления, чтобы удалить библиотеки DLL из исходного элемента управления. Я скопирую все ссылки на bin на сборке сейчас, правильно. Но когда я запускаю локальный я получаю ошибку:Странная проблема Microsoft.Owin DLL и Nuget
Could not load type 'Microsoft.Owin.Security.AuthenticationDescription' from assembly 'Microsoft.Owin, Version=2.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.
Так что я начал сравнивать библиотеки DLL на сервере (где работает веб-сайт), на мой локальный каталог бен. Если я копирую и заменяю Microsoft.Own с сервера и перезаписываю свою локальную версию, веб-сайт снова работает, ошибка исчезла.
Дело в том, что версии библиотек DLL точно так же, смотрите следующий снимок экрана:
На левой моя локальная копия, а справа есть версия от сервер.
Если я смотрю на свои ссылки на веб-сайт ASP.NET MVC, я вижу, что Microsoft.Own находится по адресу: .. \ packages \ Microsoft.Owin.2.1.0 \ lib ** net40 ** \ Microsoft .Owin.dll
и Copy Local установлен в Правда, увидеть снимок экрана:
Так что в следующий я удалил ссылку на Microsoft.Owin.2.1.0 и попытался readd с использованием версии net45 от Microsoft .Owin.dll. Поэтому я просмотрел .. \ packages \ Microsoft.Owin.2.1.0 \ lib ** net45 ** \ Microsoft.Owin.dll
Но когда я отправился проверять свойства для Microsoft.Owin, в разделе Ссылки, путь был еще .. \ пакеты \ Microsoft.Owin.2.1.0 \ Lib ** net40 ** \ Microsoft.Owin.dll
Так я тогда пошел в свой файл csproj и увидел следующую запись:
<Reference Include="Microsoft.Owin.Security, Version=2.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\Microsoft.Owin.Security.2.1.0\lib\net45\Microsoft.Owin.Security.dll</HintPath>
</Reference>
И в моем web.config мой targetFramework составляет 4,5:
<compilation debug="true" targetFramework="4.5">
Итак, я скопировал и наклеил файл Microsoft.Owin.dll на сервер, который работает с .. \ packages \ Microsoft.Owin.2.1.0 \ lib ** net40 ** \ Microsoft.Owin.dll и. . \ пакеты \ Microsoft.Owin.2.1.0 \ Lib ** net45 ** \ Microsoft.Owin.dll
Чтобы перезаписать пакет DLL копируется, когда я Перестройка и все-таки я получаю ошибку:
Could not load type 'Microsoft.Owin.Security.AuthenticationDescription' from assembly 'Microsoft.Owin, Version=2.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.
Опять же, если я скопирую Microsoft.Owin.dll ту же версию, что и моя локальная копия, и перезапишу мою локальную копию Microsoft.Owin.dll в bin, мой ASP.NET MVC снова начнет работать, пока я не создам опять же это, конечно.
Попробуйте запустить 'Update-Package -reinstall' для каждого пакета, связанного с Katana/OWIN (http://docs.nuget.org/docs/workflows/reinstalling-packages). Вам не нужно добавлять ссылки непосредственно к любым DLL, если то, что вы используете, это пакеты NuGet. –
Eilon
Это не помогло, спасибо –