[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 dependencies
VS를 선택 하면 옆에있는 확인란을 선택하면 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에서이 문제를 해결했습니다.
-
메뉴에서 패키지 관리자 콘솔을 엽니 다.
도구 | 도서관 패키지 관리 | 패키지 관리자 콘솔
-
설치 패키지 DotNetOpenAuth.AspNet
- 설치 패키지 Microsoft.AspNet.WebHelpers
이것이 당신을 위해 도움이되기를 바랍니다 !!!