Ric*_*ban 9 c# msbuild teamcity visual-studio-2015
我在TeamCity上构建了一个Web项目,可以为以后的部署打包,目前正在使用MSBuild 2013.当我最近推送一些代码时,我遇到了构建错误(因为我使用了一些C#6功能)所以我去改变了使用MSBuild 2015的构建配置,并收到此错误:
[Error] C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\Web\Transform\Microsoft.Web.Publishing.AspNetCompileMerge.targets(132, 5): Can't find the valid AspnetMergePath
之前在其他问题中已经提到过此错误(例如:VS 2012发布:找不到有效的AspnetMergePath),但遗憾的是,这些问题中提到的修复都没有对我有用.
我已经尝试或已经是这样的事情:
<TargetFrameworkSDKToolsDirectory>C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\</TargetFrameworkSDKToolsDirectory>
到
Microsoft.Web.Publishing.AspNetCompileMerge.targets
文件/p:AspnetMergePath="C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\"
到MSBuild命令我对这一点感到有点失落:我唯一没有尝试过的就是在构建服务器上安装Visual Studio,但是如果可以的话,我真的很想避免这种情况(因为我认为这很荒谬)您应该在CI服务器上安装完整的IDE!).
更多信息:
最初在VS 2012上发布的第二个和第三个解决方案发布:无法找到有效的AspnetMergePath实际上可以正常工作,但必须提供正确版本的SDK工具.
原始文章(VS 2012发布:找不到有效的AspnetMergePath)是在2013年编写的,涵盖了Visual Studio 2012. 支持C#6.0和.NET 4.6 的aspnet_merge.exe不是在路径下找到的"C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\"
.
为了使第三个解决方案起作用,请改用以下路径"C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6 Tools\"
.
换句话说,添加 /p:AspnetMergePath="C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6 Tools\"
到MSBuild命令可以解决问题.
我的团队与您描述的问题完全相同,并将此参数添加到MSBuild步骤,立即修复它.(我当然假设您的构建计算机上有NETFX 4.6版本的工具.)
作为旁注,由于您说您使用Team City - 而不是直接将上述参数添加为命令行参数,您可以使用建议的Team City并配置相应的构建参数.
归档时间: |
|
查看次数: |
6231 次 |
最近记录: |