2012-09-17 45 views
1

不久前,我决定开始使用Nuget管理第三方库。但是,自从我开始使用Nuget后,Teamcity不再能够构建解决方案。T4:MSBuild和Nuget集成

所以,我有一个WindowsPhone项目,我使用t4模板作为配置文件。我遵循Oleg Sych's instruction来整合MSBuild和T4。这个项目在我的TeamCity构建服务器上构建得很好。好吧,直到我开始使用Nuget。添加了一些软件包并将RestorePackaged设置为true,之后我不再能够在TeamCity中构建解决方案。

我的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模板的输出文件包含以下信息:ErrorGeneratingOutput

使用VS2010的解决方案也失败了我的本地机器建立。但是,问题是MSBuild处理T4模板并生成输出文件,但它不会将其添加到项目文件中。所以,构建失败是因为它无法找到特定的类。

有没有人遇到类似的问题?有没有修复?或者有人可以告诉我应该在哪里寻找解决办法?

我真的很感激任何帮助解决这个问题。

谢谢!

+0

软件包是否能正确恢复功能下载包?来自nuget的任何错误输出? –

+0

是的,还原功能正常工作。 Nuget不输出错误。 – Mike

回答

2

好的,我找到了解决方案!

我的错误是在构建服务器上安装Nuget。一旦我删除了nuget vsix扩展,一切都开始工作。

此外,我注意到,默认情况下,Nuget会在“%APPDATA%/ NuGet/NuGet.Config”中查找配置文件,并且无法覆盖它,至少我没有找到它。 尽管此链接http://nuget.codeplex.com/workitem/1358指出Nuget将使用.nuget文件夹中的本地文件(如果存在)。