VS 2013이 패키지를 복원하지 못했습니다. VS/nuget이 패키지를 성공적으로 복원했다고 생각 하긴하지만 패키지 내용이 구체화되지 않습니다.빌드시 Nuget 복원이 실패하지만 수동으로 작동합니다.
수동으로 제거하고 동일한 버전의 패키지를 다시 설치하면 정상적으로 작동합니다.
태어나지 않은 덤프는 downloaded as a zip 일 수 있습니다. 이 생식 "는 바람을
하나의 패키지를 지정하는
하나의 파일,"packages.config "와
하나의 프로젝트와
단일 솔루션을 가지고 .edmbuilder -version 1.0.4 ", 단일 파일 포함, edmbuilder.cs
하나의 폴더는 "App_Start"는 .csproj 패키지 인 경우는
그것은 "edmbuilder.cs"이 때문에 괜찮습니다 "edmbuilder.cs"가해야한다고 말했습니다
아무것도 포함하지 않는다 복원.
빌드 할 때 VS는 "edmbuilder.cs"가 누락되었다고보고합니다. 실제로 실종 상태입니다.
그러나 패키지가 다운로드되었습니다. 빌드가 "Breeze.EdmBuilder.1.0.4"가 들어있는 "packages"폴더를 생성하기 때문에 이것을 알 수 있습니다. 여기서 "edmbuilder.cs"가 있고 적절한 위치에 있습니다. 내가 명령 install-package breeze.edmbuilder -version 1.0.4
, nuget 보고서
'Breeze.EdmBuilder 1.0.4'를 실행하면
이미 설치되어 있습니다. NugetRestoreFail에는 이미 'Breeze.EdmBuilder 1.0.4'에 대한 참조가 있습니다.
AFAIK는이 패키지에 아무런 문제가 없습니다. 내가 uninstall-package breeze.edmbuilder
일 때 install-package breeze.edmbuilder -version 1.0.4
으로 다시 설치하면 설치가 작동하고 누락 된 edmbuilder.cs이 속한 "App_Start"폴더에 나타납니다.
오류는 반복 가능합니다. 이 자리에 있습니다..
- 폴더
- 는 "패키지"삭제 "App_Start"
- 에서 edmbuilder.cs을 삭제 솔루션을 닫습니다.스오와 빈과 OBJ 디렉토리
- 다시 열 솔루션과 같은 실패의 행동 ... 수동으로 제거하고 다시 설치하기 위해 동일한 능력을 얻을 것이다
를 다시 구축 할 수 있습니다.
FWIW에 대한 참조를 제거하면 .csproj에서 edmbuilder.cs에 대한 참조가 적용되지 않습니다.
내가 무엇을해도 수동으로 제거하고 패키지를 다시 설치해야합니다.
WTF!
p .: VS 2013 업데이트 2 RC를 사용 중입니다. 나는이 문제로 "RC"문제가 고객으로부터 내 관심을 끌었다는 것을 의심한다. 너는 결코 알지 못한다.
p.p.s : 빌드가 실패하지 않았음에도이 솔루션이 실행되지 않을까 걱정하지 않습니다. 여기에서 볼 수있는 것은 작동했을 실제 앱의 버젼입니다. 유일한 질문은 "왜 복원 된 파일이 없습니까?"입니다.
기다림. 나는 당신의 링크를 읽고 그것이 복원과 동일한 부작용 (".config 파일을 업데이 트하는 것, ** 코드를 추가하는 것 **, 등")을 설치로하는 것으로 보입니다. "다른 개발자 나 빌드 서버가 코드를 체크 아웃하면 ** 패키지 파일을 제외하고 동일한 부작용 코드 **를 갖게됩니다. 패키지 복원은이 파일들을 NuGet에서 간단히 가져옵니다 우리는이 프로젝트에 필요한 모든 것을 갖추고 있습니다. " 그것은 꽤 혼란 스럽습니다. 당신은 복원이 설치 부작용을 갖지 않을 것이라고 말하고 있습니까? – Ward
사실 제가 쓴 것은 * 패키지를 설치하면 부작용이 생기는 것입니다. 커밋 된 실제 패키지는이 * 빼기 *입니다. 패키지 복원은 패키지를 다시 추가하여 작업 복사본 전체를 다시 만듭니다. 그리고 네, 이것이 VS 프로젝트 시스템의 부산물이라는 것에 동의합니다. 그러나 NuGet 패키지는 단순히 참조 할 어셈블리가 아닙니다. 또한 빌드 서버와 같은 VS 컨텍스트 외부에서 작동하지 않을 수도있는 설치 스크립트를 포함 할 수 있습니다. 단순히 패키지 복원을 패키지 체크인으로 저장하는 것으로 생각하면 더 이해할 수 있습니다. – Kiliman
다음은 흔히 잘못 생각한 블로그 게시물입니다. http://jeffhandley.com/archive/2013/12/09/nuget-package-restore-misconceptions.aspx 프로젝트에 추가 된 콘텐츠 파일은 프로젝트와 함께 체크인했다. 그들이 NuGet에서 오지 않았다는 것을 가장해라. 이제 프로젝트에서 편집 가능한 소스 파일입니다. 바이너리가 패키지 복원이 만들어진 이유입니다. 아무도 타사 바이너리를 소스 제어로 확인하려고하지 않습니다. –