저는이 문제에 대해 몇 주 동안 씨름하고 있습니다. 모든 DLL은 제대로 참조되고, 로컬 복사로 설정되어 있으며 로컬 컴퓨터에서 빌드 시스템으로 내 응용 프로그램을 올바르게 빌드 할 수 있습니다. 내 로컬 및 빌드 상자에 Azure SDK 2.9가 설치되어 있지만 스테이징 환경에서 응용 프로그램을 실행하면.NET 어셈블리가 bin 폴더에 복사되지 않음
"파일 또는 어셈블리를로드 할 수 없습니다."Microsoft.Practices.EnterpriseLibrary.Common, Version = 5.0.505.0 , Culture = neutral, PublicKeyToken = 31bf3856ad364e35 '또는 해당 종속성 중 하나입니다. 시스템에서 지정한 파일을 찾을 수 없습니다. "
=== Pre-bind state information ===
LOG : 표시 이름 = Microsoft.Practices.EnterpriseLibrary.Common, 버전 = 5.0.505.0, 문화 = 중립, PublicKeyToken
내가 여기에 우리의 준비 시스템의 융합 로그를 활성화하고,
는 출력 Appbase = 파일 : /// F/sitesroot/3/ LOG : 초기 PrivatePath = F = 31bf3856ad364e35 가 LOG를 (완전 지정) \ sitesroot 3 \ 빈호출 조립 \ : (알 수 없음).
LOG :이 바인딩은 기본로드 컨텍스트에서 시작됩니다. 로그 : 응용 프로그램 구성 파일 사용 : F : \ sitesroot \ 3 \ web.config 로그 : 호스트 구성 파일 사용 : D : \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet.config 로그 : 컴퓨터 구성 사용 파일은 D : \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ config \ machine.config에 있습니다. LOG : 정책 후 참조 : Microsoft.Practices.EnterpriseLibrary.Common, 버전 = 5.0.505.0, 문화 = 중립, PublicKeyToken = 31bf3856ad364e35 로그 : 새 URL 파일 다운로드 시도 : /// D : /Windows/Microsoft.NET /Framework64/v4.0.30319/Temporary ASP.NET Files/public_ [내 DLL] /80b18788/752a457e/Microsoft.Practices.EnterpriseLibrary.Common.DLL. LOG : 새 URL 파일 다운로드 시도 : /// D : /Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Files/public_ [내 DLL] /80b18788/752a457e/Microsoft.Practices.EnterpriseLibrary. Common/Microsoft.Practices.EnterpriseLibrary.Common.DLL. LOG : 새 URL 파일 다운로드 시도 : /// F : /sitesroot/3/bin/Microsoft.Practices.EnterpriseLibrary.Common.DLL. LOG : 새 URL 파일 다운로드 시도 : /// F : /sitesroot/3/bin/Microsoft.Practices.EnterpriseLibrary.Common/Microsoft.Practices.EnterpriseLibrary.Common.DLL. LOG : 새 URL 파일 다운로드 시도 : /// D : /Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Files/public_ [내 DLL] /80b18788/752a457e/Microsoft.Practices.EnterpriseLibrary. Common.EXE. LOG : 새 URL 파일 다운로드 시도 : /// D : /Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET Files/public_ [내 DLL] /80b18788/752a457e/Microsoft.Practices.EnterpriseLibrary. Common/Microsoft.Practices.EnterpriseLibrary.Common.EXE. LOG : 새 URL 파일 다운로드 시도 중 /// F : /sitesroot/3/bin/Microsoft.Practices.EnterpriseLibrary.Common.EXE. LOG : 새 URL 파일 다운로드 시도 : /// F : /sitesroot/3/bin/Microsoft.Practices.EnterpriseLibrary.Common/Microsoft.Practices.EnterpriseLibrary.Common.EXE.
D : /Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET으로 이동하면 DLL이 없으므로이 DLL에 대해 "잘못된"위치가 분명하게 표시됩니다.
저는 VS 2013을 사용하고 있습니다. 어떤 아이디어가 있습니까?
편집 : 내 로컬에서 빌드 할 때 일부 DLL을 해당 폴더로 다시 복사하기 전에 bin 폴더가 지워지고 있음을 확인할 수 있습니다. 이상하게도 성공적으로 복사 된 DLL은 더 이상 내 코드 또는 설정 파일의 아무 곳에서도 참조되지 않습니다.나는 또한 게시물 빌드 스크립트를 가지고 있지만, 나는이 오래된 DLL이 거기에서 참조되지 않는다는 것을 확인했다.
SECOND 편집 :
나는 준비 인스턴스 중 하나에 엔터프라이즈 라이브러리 DLL을 찾았지만 오류가 참조되는 디렉토리에없는. 실제로 Azure 클라우드 서비스 인 두 번째 프로젝트를 참조하는 웹 프로젝트가 있습니다. 따라서 서비스 폴더가 Temporary ASP.NET Files 폴더 아래에 생성되지만 비어 있습니다.
DLL은 여기에 있습니다 :
D : \ WINDOWS \ Microsoft.NET \ Framework64 \ v4.0.30319 임시 \ ASP.NET 파일 \ 루트 \ 59a01799 \ 5b6b1a2 \ 조립 \ DL3 \ 11d624d2 \ 4e820e1f_4413d201
여기서 "루트"는 웹 응용 프로그램이라고 가정합니다. 이 오류는이 폴더에 찾고 :
D : /Windows/Microsoft.NET/Framework64/v4.0.30319/Temporary ASP.NET 파일/[내 서비스 클래스 라이브러리]/060e4c2a/e3b3457e/
Microsoft.Practices.EnterpriseLibrary.Common.DLL의 경우 우리는 웹 프로젝트와 참조 된 서비스 클래스 라이브러리 모두를위한 "packages"폴더를 가지고 있는데, 둘 다 필요한 DLL을 모두 포함하고 있습니다. 그래서 나는 아마도 루트 웹 어플리케이션 프로젝트 폴더를 가리켜 DLL을 찾기 위해 서비스 클래스 라이브러리에 설정이되어있을 것이라고 생각합니다. 그게 무엇인지 알 수는 없습니다.
스테이징 환경에서 MS 엔터프라이즈 라이브러리가 누락 된 것처럼 보이지만 설치를 허용합니까? [Microsoft Enterprise Library 5.0] (https://www.microsoft.com/en-us/download/details.aspx?id=15104) – sly
새로 추가 된 Redis SessionStateProvider를 포함하여 모든 나의 참조에 대해이 오류가 발생했습니다. 이 응용 프로그램을로 전환합니다. 그리고 Redis DLL이 설치되는 EL DLL에 의존한다는 것을 믿지 않으므로 Redis 참조로 본 오류가 Staging에없는 EL과 관련이 있다고 생각합니다. – Ben
Check if 이 MSBuild 제한, http://stackoverflow.com/questions/36270073/msbuild-referencedependencyps-does-not-contain-nth- dependencies –