我已经调试了一天,但似乎无法解决。也许其他人遇到了类似的情况并可能会有所启发?

我们已将解决方案中项目中的所有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/

10-17 01:03