ASP.NET 웹 사이트 프로젝트 유형 (적절한 .csproj 또는 .vpproj 프로젝트 파일이없는 프로젝트 유형 및 즉 느슨한 파일의 폴더 일 경우) NuGet을 사용하여 패키지를 추가하면 Bin 디렉토리의 * .dll.refresh 파일이 부모 패키지 폴더의 패키지 dll을 참조하게됩니다.웹 배포 프로젝트에서 ASP.NET "웹 사이트"프로젝트의 * .dll.refresh 파일과 함께 NuGet 사용
예를 들어 패키지 관리자 콘솔에서 "install-package elmah"를 실행하면 Elmah가 프로젝트 솔루션 디렉토리의 패키지 폴더에 저장되고 Elmah.dll.refresh 파일이 프로젝트의 Bin에 저장됩니다 폴더.
로컬로 프로젝트를 빌드 할 때 Visual Studio는 새로 고침 파일에서 참조하는 DLL을 자동으로 가져옵니다. 사이트와 엘마가 제대로 돌아갑니다. 프로젝트의 Bin 디렉터리에있는 Elmah.dll 파일이 소스 제어에 체크인되어 있지 않습니다 (새로 고침 파일과 패키지 폴더 만 체크 인 됨).
그러나 웹 배포 프로젝트를 사용하여 사이트를 미리 컴파일하고 배포를 위해 web.config 대체를 수행합니다. 이 방법으로 솔루션을 빌드하면 Elmah.dll이 웹 사이트 프로젝트 Bin 디렉터리에 자동으로 가져 오지 않으며 누락 된 DLL로 인해 사이트가 제대로 실행되지 않습니다.
NuGet은 이러한 종류의 시나리오에서 어떻게 사용 되나요? Elmah.dll을 Bin 디렉터리에 체크인할까요?
이것은 테스트되었고 Visual Studio와 빌드 머신에서 MSBuild를 직접 실행하여 작동합니다. –