我已经调试了一天,但似乎无法解决。也许其他人遇到了类似的情况并可能会有所启发?
我们已将解决方案中项目中的所有T4模板配置为在构建项目时运行,如shift-ctrl-b所示。这很好用-它需要我们将此import语句添加到项目.csproj文件中:
<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\TextTemplating\Microsoft.TextTemplating.targets"/>
我们已经通过Visual Studio 2012和云TFS(tfs.visualstudio.com)建立了持续集成。在TFS的托管 Controller 上构建我们的解决方案时,我们不断收到以下错误:
在我们的开发机上,该文件存在,因此问题似乎在于该文件在托管的构建服务器上不存在。
如果我们对这个假设是正确的,那么除了安装我们自己的TFS构建服务器之外,还有其他解决方法吗?
最佳答案
我怀疑托管的构建服务器上是否装有Visual Studio 2010(v10.0)。
您可以获取托管构建服务器here上当前安装的列表,Tarun Arora具有here的更多详细信息。
对于您的问题,请尝试使用11.0
版本(适用于VS2012):
<Import Project="$(MSBuildExtensionsPath)
\Microsoft\VisualStudio\v11.0\TextTemplating\Microsoft.TextTemplating.targets"/>
更好的方法是使用
VisualStudioVersion
MSBuild属性:<Import Project="$(MSBuildExtensionsPath)
\Microsoft\VisualStudio\v$(VisualStudioVersion)\TextTemplating\Microsoft.TextTemplating.targets"/>
这将确保将来对托管构建服务器的更新不会影响您的代码。
阅读here以获取更多详细信息。
关于TFS托管构建 Controller -找不到Microsoft.TextTemplating.targets,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18340417/