TFS托管构建控制器 - 找不到Microsoft.TextTemplating.targets

时间:2013-08-20 16:34:31

标签: tfs msbuild azure-devops t4

我一直在调试一天的问题,似乎无法弄明白。也许其他人遇到了类似的东西,可以解决一些问题?

我们在解决方案中的项目中配置了所有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的托管控制器上构建时,我们不断收到以下错误:

  

找不到导入的项目“C:\ Program Files \ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ TextTemplating \ Microsoft.TextTemplating.targets”。确认声明中的路径是否正确,以及该文件是否存在于磁盘上。

在我们的开发机器上,文件存在,因此问题似乎是托管构建服务器上不存在该文件。

如果我们对此假设是正确的,除了安装我们自己的TFS构建服务器之外,还有解决此问题的方法吗?

3 个答案:

答案 0 :(得分:4)

我怀疑托管构建服务器上有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了解更多详情。

答案 1 :(得分:1)

也许有些文件丢失了。 :)所以我遇到了同样的情况。这是解决方案。

正确的解决方案是安装

Microsoft Visual Studio 2010 Visualization&amp;建模SDK http://www.microsoft.com/en-us/download/confirmation.aspx?id=23025

创建文件夹

C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ TextTemplating 和文件 Microsoft.TextTemplating.targets和其他

Microsoft Visual Studio 2012 Visualization&amp;建模SDK http://www.microsoft.com/en-us/download/confirmation.aspx?id=30680

创建文件夹

C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v11.0 \ TextTemplating 和文件 Microsoft.TextTemplating.targets和其他

享受! ;)

P.S。不知何故 Microsoft Visual Studio 2010 Visualization&amp;建模SDK 在此处创建文件夹

  

C:\ Program Files   (86)\的MSBuild \微软\ VisualStudio的\ TextTemplating \ V10.0

答案 2 :(得分:0)

Microsoft.TextTemplating.targets文件带有您可能不需要的开销(用于Microsoft Visual Studio的模型SDK )。您很可能会使用一个简单的NuGet包来转换构建(使用 TextTransform.exe ):Clarius.TransformOnBuild

有关详细信息,请参阅作者的blog post