6

我已经调试了一天的问题,但似乎无法弄清楚。也许其他人遇到了类似的事情并且可以提供一些启示?

我们已经在我们的解决方案中配置了一个项目中的所有 T4 模板,以便在构建项目时运行,如shift-ctrl-b。这很好用 - 它要求我们将此导入语句添加到项目 .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 构建服务器之外,是否有解决这个问题的方法?

4

3 回答 3

5

我怀疑托管的构建服务器上有 Visual Studio 2010 (v10.0)。

您可以在此处获取托管构建服务器上当前安装的内容的列表,Tarun Arora 在此处有更多详细信息。

对于您的问题,请尝试使用版本11.0(适用于 VS2012):

<Import Project="$(MSBuildExtensionsPath)
    \Microsoft\VisualStudio\v11.0\TextTemplating\Microsoft.TextTemplating.targets"/>

更好的方法是使用VisualStudioVersionMSBuild 属性:

<Import Project="$(MSBuildExtensionsPath)
    \Microsoft\VisualStudio\v$(VisualStudioVersion)\TextTemplating\Microsoft.TextTemplating.targets"/>

这将确保托管构建服务器的未来更新不会影响您的代码。在此处阅读以了解更多详细信息。

于 2013-08-20T16:44:34.967 回答
1

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

正确的解决方案是安装

Microsoft Visual Studio 2010 可视化和建模 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 可视化和建模 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 和其他

享受!;)

PS 不知何故Microsoft Visual Studio 2010 Visualization & Modeling SDK在此处创建文件夹

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\TextTemplating\v10.0

于 2013-09-27T11:57:43.410 回答
0

Microsoft.TextTemplating.targets文件带有您可能不需要的开销(Modeling SDK for Microsoft Visual Studio)。您很可能会使用在构建时进行转换的简单 NuGet 包(使用TextTransform.exe):Clarius.TransformOnBuild

有关更多信息,请参阅作者的博客文章

于 2016-08-20T11:48:52.053 回答