Не удалось загрузить файл или сборку ' DotNetOpenAuth.Ядро
Я получаю следующую ошибку при запуске моего asp net mvc 4 приложения:
Could not load file or assembly 'DotNetOpenAuth.Core, Version=4.0.0.0,
Culture=neutral, PublicKeyToken=2780ccd10d57b246' or one of its dependencies.
The system cannot find the file specified
журнал ошибки
Assembly manager loaded from: C:WindowsMicrosoft.NETFrameworkv4.0.30319clr.dll
Running under executable C:WindowsSysWOW64inetsrvw3wp.exe
--- A detailed error log follows.
=== Pre-bind state information ===
LOG: User = notebookGuilherme
LOG: DisplayName = DotNetOpenAuth.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=2780ccd10d57b246
(Fully-specified)
LOG: Appbase = file:///C:/Users/Guilherme/Documents/Visual Studio 2012/Projects/Gedi/Gedi/
LOG: Initial PrivatePath = C:UsersGuilhermeDocumentsVisual Studio 2012ProjectsGediGedibin
Calling assembly : Microsoft.Web.WebPages.OAuth, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35.
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:UsersGuilhermeDocumentsVisual Studio 2012ProjectsGediGediweb.config
LOG: Using host configuration file: C:WindowsMicrosoft.NETFrameworkv4.0.30319aspnet.config
LOG: Using machine configuration file from C:WindowsMicrosoft.NETFrameworkv4.0.30319configmachine.config.
LOG: Post-policy reference: DotNetOpenAuth.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=2780ccd10d57b246
LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/2635bb56/154c3fbb/DotNetOpenAuth.Core.DLL.
LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/2635bb56/154c3fbb/DotNetOpenAuth.Core/DotNetOpenAuth.Core.DLL.
LOG: Attempting download of new URL file:///C:/Users/Guilherme/Documents/Visual Studio 2012/Projects/Gedi/Gedi/bin/DotNetOpenAuth.Core.DLL.
LOG: Attempting download of new URL file:///C:/Users/Guilherme/Documents/Visual Studio 2012/Projects/Gedi/Gedi/bin/DotNetOpenAuth.Core/DotNetOpenAuth.Core.DLL.
LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/2635bb56/154c3fbb/DotNetOpenAuth.Core.EXE.
LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/2635bb56/154c3fbb/DotNetOpenAuth.Core/DotNetOpenAuth.Core.EXE.
LOG: Attempting download of new URL file:///C:/Users/Guilherme/Documents/Visual Studio 2012/Projects/Gedi/Gedi/bin/DotNetOpenAuth.Core.EXE.
LOG: Attempting download of new URL file:///C:/Users/Guilherme/Documents/Visual Studio 2012/Projects/Gedi/Gedi/bin/DotNetOpenAuth.Core/DotNetOpenAuth.Core.EXE.
Я уже удалил все ссылки из DotNetOpenAuth с помощью packager manager. Также я проверил свои собственные ссылки для каждой сборки Auth, которую я имел в своем проекте, и ее нет.
Это мои пакеты.конфигурации
<packages>
<package id="AutoMapper" version="2.2.0" targetFramework="net45" />
<package id="EntityFramework" version="5.0.0" targetFramework="net45" />
<package id="jQuery" version="1.7.1.1" targetFramework="net45" />
<package id="jQuery.UI.Combined" version="1.8.20.1" targetFramework="net45" />
<package id="jQuery.Validation" version="1.9.0.1" targetFramework="net45" />
<package id="knockoutjs" version="2.1.0" targetFramework="net45" />
<package id="Microsoft.AspNet.Mvc" version="4.0.20710.0" targetFramework="net45" />
<package id="Microsoft.AspNet.Razor" version="2.0.20710.0" targetFramework="net45" />
<package id="Microsoft.AspNet.Web.Optimization" version="1.0.0" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi" version="4.0.20710.0" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.Client" version="4.0.20710.0" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.Core" version="4.0.20710.0" targetFramework="net45" />
<package id="Microsoft.AspNet.WebApi.WebHost" version="4.0.20710.0" targetFramework="net45" />
<package id="Microsoft.AspNet.WebPages" version="2.0.20710.0" targetFramework="net45" />
<package id="Microsoft.AspNet.WebPages.Data" version="2.0.20710.0" targetFramework="net45" />
<package id="Microsoft.AspNet.WebPages.WebData" version="2.0.20710.0" targetFramework="net45" />
<package id="Microsoft.jQuery.Unobtrusive.Ajax" version="2.0.20710.0" targetFramework="net45" />
<package id="Microsoft.jQuery.Unobtrusive.Validation" version="2.0.20710.0" targetFramework="net45" />
<package id="Microsoft.Net.Http" version="2.0.20710.0" targetFramework="net45" />
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net45" />
<package id="Modernizr" version="2.5.3" targetFramework="net45" />
<package id="Newtonsoft.Json" version="4.5.11" targetFramework="net45" />
<package id="Repository" version="1.0.2.12" targetFramework="net45" />
<package id="RestSharp" version="103.4" targetFramework="net45" />
<package id="WebGrease" version="1.1.0" targetFramework="net45" />
</packages>
спасибо
18 ответов:
Если вы не хотите использовать OAuth, удалите ссылки: обе веб-страницы OAuth DLL (я думаю, что это Microsoft.Сеть.страницы.Протокол OAuth.dll1) и DotNetOpenAuth библиотеки DLL.
1: вы можете найти его имя в
Calling assembly
. Итак, удаляем всеcalling assembly
ofDotNetOpenAuth.Core
должно работать для вас. Этот подход должен работать для других неиспользуемых отсутствующих ссылок.
У меня была аналогичная проблема. Это было действительно странно, так как проект работал нормально за день до этого.
удаление папок obj и bin из папки проекта, очистка решения и его перестройка работали.
надеюсь, что это поможет.
Я видел, как это происходит при развертывании приложения MVC как
bin deploy
. Когда вы щелкните правой кнопкой мыши на проекте и выберитеAdd deployable dependencies
VS добавит ссылки на Oauth, если вы установите флажок рядом сASP .NET Webpages with Razor syntax
.чтобы исправить это, удалите
_bin_deployableAssemblies
папка, и ваше приложениеbin
папка, а затем очистить и перестроить приложение, и он будет работать снова.
в моем случае приложение MVC4 работало нормально в отладчике VS2012, но я получал "не удалось загрузить файл или сборку" DotNetOpenAuth.Core '" ошибка при публикации приложения на сервере.
установка флажка "удалить все существующие файлы до публикации" на вкладке "Настройки" окна "опубликовать веб" решила проблему.
установив следующие два пакета, я решил эту проблему на VS2012 Professional Update 4 RC:
Откройте консоль диспетчера пакетов из меню:
Tools / Library Package Manage / Package Manager Console
Install-Package DotNetOpenAuth.Паш
- Установить Пакет Microsoft.сеть САШ.WebHelpers
надеюсь, что это поможет вам!!!
просто выберите "Удалить дополнительные файлы в пункте назначения" в настройках публикации. Это работает для меня
попробуйте выполнить глобальный поиск решения (ctrl + shift+f, Если вы его не изменили) для значения '2780ccd10d57b246'. Я предполагаю, что вы найдете его в своей сети.конфиг.
еще один вариант решения-иметь зависимость от сборки следующим образом:
<dependentAssembly> <assemblyIdentity name="DotNetOpenAuth.AspNet" publicKeyToken="2780ccd10d57b246" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-4.3.0.0" newVersion="4.3.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="DotNetOpenAuth.Core" publicKeyToken="2780ccd10d57b246" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-4.3.0.0" newVersion="4.3.0.0" /> </dependentAssembly>
У меня нет репутации, чтобы комментировать, но я могу проверить, что у меня была эта точная проблема, и Джек дал правильное решение для меня. Я недавно нажал добавить ссылку на службу, и это сломало программу с приведенным выше сообщением об ошибке.
Удаление папки _bin_deployableAssemblies и папки bin вашего приложения, а затем очистка и перестройка приложения заставили его работать снова.
для меня это работало следующим образом, используя консоль packager manager, я удалил пакеты, следуя следующей последовательности заказов, и я снова установил ее, это решило мою проблему..
удалить
Uninstall-Package Microsoft.AspNet.WebPages.OAuth Uninstall-Package DotNetOpenAuth.AspNet Uninstall-Package DotNetOpenAuth.OpenId.RelyingParty Uninstall-Package DotNetOpenAuth.OpenId.Core Uninstall-Package DotNetOpenAuth.OAuth.Consumer Uninstall-Package DotNetOpenAuth.OAuth.Core Uninstall-Package DotNetOpenAuth.core
построить, если вы не используете вышеупомянутые пакеты, то это должно решить проблему, чтобы снова установить выше, в случае необходимости, выполните следующие действия..
переустановить
install-Package DotNetOpenAuth.AspNet install-Package Microsoft.AspNet.WebPages.OAuth install-Package DotNetOpenAuth.OpenId.RelyingParty install-Package DotNetOpenAuth.OpenId.Core install-Package DotNetOpenAuth.OAuth.Consumer install-Package DotNetOpenAuth.OAuth.Core install-Package DotNetOpenAuth.core
рекомендуется:
- перейдите в папку bin проекта, понятно
- когда публиковать в IIS, удалите виртуальный каталог и снова назначьте веб-сайт IIS, так как я столкнулся с проблемой наличия наличных денег на сервере, которая создавала проблему...
Если это кому - то поможет-я не смог удалить компоненты DotNetOpenAuth через Nuget, поэтому я решил эту ошибку, удалив их из списка ссылок напрямую, а затем повторно установив dotnetopenauth через nuget.
Я тоже получал эту ошибку, но с помощью ASP.NET проект MVC 5. Я решил ее, установив пакет DotNetOpenAuth.Mvc5 и вызов AsActionResultMvc5 () вместо AsActionResult ()
для меня помогло добавление в csproj файл следующего раздела:
<PropertyGroup> <PostSharpHostConfigurationFile>web.config</PostSharpHostConfigurationFile> </PropertyGroup>
У меня была такая же проблема здесь. Моя опубликованная сеть.в конфигурации не было строк:
<dependentAssembly> <assemblyIdentity name="DotNetOpenAuth.Core" publicKeyToken="2780ccd10d57b246" /> <bindingRedirect oldVersion="1.0.0.0-4.1.0.0" newVersion="4.1.0.0" /> </dependentAssembly>
просто добавил И все заработало.