2012-09-17 2 views
1

얼마 전에 타사 라이브러리를 관리하기 위해 Nuget을 사용하기로 결정했습니다. 그러나 Nuget을 사용하기 시작한 이후 Teamcity는 더 이상 솔루션을 구축 할 수 없었습니다.T4 : MSBuild와 Nuget Integration

그래서, 내가 구성 파일의 T4 템플릿을 사용하십시오 WindowsPhone과 프로젝트가 있습니다. 나는 MSBuild와 T4를 통합하기 위해 Oleg Sych's instruction을 따라 갔다. 이 프로젝트는 TeamCity 빌드 서버에서 올바르게 구축되었습니다. Nuget을 사용하기 전까지는 괜찮습니다. 일부 패키지를 추가하고 RestorePackaged를 true로 설정하면 더 이상 TeamCity에서 솔루션을 빌드 할 수 없습니다.

C:\Program Files\MSBuild\Microsoft\VisualStudio\TextTemplating\v10.0\Microsoft.TextTemplating.targets(396, 5): 
Compiling transformation: Invalid token 'this' in class, struct, or interface member declaration. Line=1, Column=1 
C:\Program Files\MSBuild\Microsoft\VisualStudio\TextTemplating\v10.0\Microsoft.TextTemplating.targets(396, 5): 
Compiling transformation: Method must have a return type. Line=1, Column=6 
C:\Program Files\MSBuild\Microsoft\VisualStudio\TextTemplating\v10.0\Microsoft.TextTemplating.targets(396, 5): 
Compiling transformation: Type expected. Line=1, Column=12 

T4 템플릿 출력 파일은 다음과 같은 메시지가 포함되어 있습니다 : VS2010이 솔루션은 또한 실패하여 내 로컬 컴퓨터에 ErrorGeneratingOutput

내가 인 TeamCity 얻을 오류는 다음과 짓다. 그러나 문제는 MSBuild가 T4 템플릿을 처리하고 출력 파일을 생성하지만 프로젝트 파일에 추가하지 않는다는 것입니다. 따라서 특정 클래스를 찾을 수 없으므로 빌드가 실패합니다.

비슷한 문제가 발생 했습니까? 수정 사항이 있습니까? 아니면 누군가 내가 수정본을 어디에서 찾아야한다고 말 할 수 있습니까?

은 정말이 문제를 해결에 어떤 도움을 주셔서 감사합니다.

감사합니다.

+0

패키지 복원 기능이 패키지를 올바르게 다운로드합니까? 출력에서 너겟의 오류가 있습니까? –

+0

예, 복원 기능이 정상적으로 작동합니다. Nuget은 오류를 출력하지 않습니다. – Mike

답변

2

좋아, 해결책을 찾았습니다!

내 실수는 빌드 서버에 Nuget를 설치하는 것이 었습니다. 일단 nuget vsix 확장을 제거하면 모든 것이 작동하기 시작합니다.

또한 기본적으로 Nuget은 "% APPDATA %/NuGet/NuGet.Config"에서 설정 파일을 찾았으며이를 무시할 방법이 없다는 것을 알았습니다. 적어도 찾지 못했습니다. 이 링크 http://nuget.codeplex.com/workitem/1358에는 Nuget이 .nuget 폴더의 로컬 파일을 사용한다고 나와 있지만