[c#] 파일 또는 어셈블리 ‘DotNetOpenAuth.Core를로드 할 수 없습니다.

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:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll
Running under executable  C:\Windows\SysWOW64\inetsrv\w3wp.exe
--- A detailed error log follows.

=== Pre-bind state information ===
LOG: User = notebook\Guilherme
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:\Users\Guilherme\Documents\Visual Studio 2012\Projects\Gedi\Gedi\bin
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:\Users\Guilherme\Documents\Visual Studio 2012\Projects\Gedi\Gedi\web.config
LOG: Using host configuration file: C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet.config
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.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에서 모든 참조를 이미 제거했습니다. 또한 내 프로젝트에있는 모든 Auth 어셈블리에 대한 자체 참조를 확인했지만 아무것도 없습니다.

이것은 내 packages.config입니다.

<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>

감사



답변

OAuth를 사용하지 않으려면 WebPages OAuth DLL ( Microsoft.Web.WebPages.OAuth.dll 1 ) 및 DotNetOpenAuth DLL 모두 참조를 제거하십시오 .


1 : 파일 이름은 Calling assembly. 그래서, 모든 제거 calling assembly의 것은 DotNetOpenAuth.Core당신을 위해 작동합니다. 이 접근 방식은 사용되지 않는 다른 누락 된 참조에 대해 작동합니다.


답변

비슷한 문제가있었습니다. 프로젝트가 하루 전에 정상적으로 실행되고 있었기 때문에 정말 이상했습니다.

프로젝트 폴더에서 obj 및 bin 폴더를 제거하고 솔루션을 정리하고 다시 빌드했습니다.

도움이되기를 바랍니다.


답변

MVC 응용 프로그램을 bin deploy. 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 Add deployable dependenciesVS를 선택 하면 옆에있는 확인란을 선택하면 Oauth에 대한 참조가 추가됩니다 ASP .NET Webpages with Razor syntax.

이 문제를 해결하려면 폴더와 _bin_deployableAssemblies응용 프로그램의 bin폴더를 삭제 한 다음 응용 프로그램 을 정리하고 다시 빌드하면 다시 작동합니다.


답변

제 경우에는 MVC4 응용 프로그램이 VS2012 디버거에서 제대로 실행되었지만 서버에 응용 프로그램을 게시 할 때 “파일 또는 어셈블리 ‘DotNetOpenAuth.Core’를로드 할 수 없습니다.”라는 오류가 발생했습니다.

웹 게시 창의 설정 탭에서 “게시하기 전에 모든 기존 파일 삭제”확인란을 선택하면 문제가 해결되었습니다.

파일 시스템 게시 설정


답변

Nuget을 사용하여 패키지를 설치하여 문제를 해결했습니다.

Install-Package Microsoft.AspNet.WebPages.OAuth


답변

게시 설정에서 “대상에서 추가 파일 제거”를 선택하기 만하면됩니다. 이것은 나를 위해 작동합니다


답변

다음 두 패키지를 설치하여 VS2012 Professional Update 4 RC에서이 문제를 해결했습니다.

  1. 메뉴에서 패키지 관리자 콘솔을 엽니 다.

    도구 | 도서관 패키지 관리 | 패키지 관리자 콘솔

  2. 설치 패키지 DotNetOpenAuth.AspNet

  3. 설치 패키지 Microsoft.AspNet.WebHelpers

이것이 당신을 위해 도움이되기를 바랍니다 !!!