2014-02-26 4 views
2

Windows Azure를 사용하여 프로덕션 웹 사이트를 호스팅하고 있습니다. 오늘 나는 "단계적 게시"(http://www.windowsazure.com/en-us/documentation/articles/web-sites-staged-publishing/) 기능을 시도했지만 약간의 문제가 있습니다.Azure 웹 사이트에 단계별 배포가 누락되었습니다.

내 빌드 시스템에 로그온하고 적절한 버전의 코드를 다운로드하여 Azure의 테스트 웹 사이트에 배포하십시오. TEST에 로그인하고 주위를 클릭하면 모두 정상입니다.

다음으로 내 게시 설정을 업데이트하여 Azure의 단계별 배포 웹 사이트를 가리 키도록 업데이트합니다. 배포 할 때 노란색 화면에 "Microsoft.Practices.ServiceLocation, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35 '또는 해당 종속성 중 하나를로드 할 수 없습니다. 시스템에서 지정된 파일을 찾을 수 없습니다. . "

그래서 한 대의 컴퓨터에서 배포하고 하나의 배포가 좋으면 다른 배포본은 그렇지 않습니다. 내가 바꿀 수있는 유일한 다른 방법은 게시 할 때 "솔루션 구성"입니다. 테스트를 위해 게시 할 때 하나의 구성을 사용하고, "준비된"환경에 게시 할 때는 다른 구성을 사용합니다.

편집는 :

사람을 가지고 .. 그 솔루션 구성을 개최 할 때 나는 내 테스트 ENV에 배포하고, 일이 잘 구축 .. 그래서 내가 솔루션 구성이 문제의 한 부분이있을 가능성을 제거 생각 그렇지? 준비된 배포 문제인지 또는 Visual Studio를 사용하여 확인해야합니다. 감사!

+0

Visual Studio에서 해당 어셈블리 참조의 '로컬 복사'속성을 'true'로 설정 했습니까? 어쩌면 테스트 상자의 GAC에 있고 준비 상자에는 없을 수도 있습니다. –

+0

Thanks @ TroyCarlson, 모든 로컬 DLL은 로컬 복사로 설정됩니다. 빌드 머신을 실행 시켰을 때,이 DLL은 내 옆에 가시가 있었고 PC에 Microsoft Ent Library를 설치할 때까지는 머신이 사이트를 실행하지 않았습니다. 그 이후로 성공적으로 배포 한 이래로이 문제가 내 뒤에있는 것 같았습니다 ... – ewitkows

답변

1

왜 그렇게 산발적 이었는지 모르겠지만, 결국에는 프로젝트의 \ 포함을 참조한 DLL과 관련이 있습니다. 로컬 디렉토리에 게시 한 후 bin 디렉토리를 살펴보고 노란색 화면에 표시된 DLL이없는 것을 확인했습니다. 마지막으로 적절한 사본을 찾은 다음 웹 사이트 프로젝트의 로컬 "lib"디렉토리에 추가 한 다음 직접 참조를 추가하여 이후 발행 할 때 사용할 수있게했습니다.

+0

정확한 문제로 지난 몇 주 동안 견디기가 어려웠습니다. 더욱 그렇기 때문에 그것은 산발적이었습니다. 나는 원인을 결정할 수 없다. 배포 슬롯에 게시하면 죽을 때 노란색 화면이 하나 (그리고 항상 같은 DLL)로 '누락'되는지 확인할 때까지 기다리는 소리가납니다. 그것은 '출판 전에 프리 컴파일'설정과 관련이 있을지 모르지만 나는 확실히 말할 수 없다. – oflahero

+0

어쨌든 문제의 DLL이 내 프로젝트 DLL 중 하나이기 때문에 특별한 lib 디렉토리를 추가하는 것은 옵션이 아닙니다. 그 빌어 먹을 것은 명시 적으로 다른 DLL (* 게시 *)에서 참조되므로, 왜, 왜, 왜 Azure Gods, 왜 물어 축소 해요. (CopyLocal은 true 등입니다.) – oflahero

관련 문제