我一直在调试一天的问题,似乎无法弄明白。也许其他人遇到了类似的东西,可以解决一些问题?
我们在解决方案中的项目中配置了所有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构建服务器之外,还有解决此问题的方法吗?
答案 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。