dar*_*gui 8 .net msbuild tfs c#-7.0 visual-studio-2017
我们使用TFS 2015作为构建服务器,以便与xaml构建定义持续集成.TfvcTemplate12.xaml是我们正在使用的构建过程模板.当visual studio 2015问世时,我们通过将MSBuild参数设置为更新了构建模板
/p:VisualStudioVersion=14.0
Run Code Online (Sandbox Code Playgroud)
在这样做之后,构建服务器成功地能够使用C#6功能构建项目.现在已经发布了Visual Studio 2017以及C#7,我想我可以在构建服务器上安装visual studio 2017并更新MSBuild参数以使用v15.0.这似乎不起作用,构建代理仍然使用MSBuild v14.0,它无法在C#7中编译新功能.在进一步尝试中,我尝试将工具版本设置为15.0
/tv:15.0
Run Code Online (Sandbox Code Playgroud)
但这也不起作用.构建失败,出现了一个非常通用的错误消息,并没有帮助我解决这个问题.有没有人得到这个工作?
Exception Message: MSBuild error 1 has ended this build. You can find more specific information about the cause of this error in above messages. (type BuildProcessTerminateException)
Exception Stack Trace: at System.Activities.Statements.Throw.Execute(CodeActivityContext context)
at System.Activities.CodeActivity.InternalExecute(ActivityInstance instance, ActivityExecutor executor, BookmarkManager bookmarkManager)
at System.Activities.ActivityInstance.Execute(ActivityExecutor executor, BookmarkManager bookmarkManager)
at System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor executor, BookmarkManager bookmarkManager, Location resultLocation)
Run Code Online (Sandbox Code Playgroud)
正如提到的许多建议答案一样,如果没有手动修改模板本身,就不可能使用默认的XAML生成过程模板之一来使用MSBuild v15。
通过修改DefaultTemplate.11.1.xaml并查找MSBuild活动,我能够成功地完成此工作。在那里,您需要手动将ToolPath属性设置为安装MSBuild v15的文件名。
ToolPath="C:\Program Files (x86)\Visual Studio\2017\<more path>\msbuid.exe"
Run Code Online (Sandbox Code Playgroud)
我可以保证这将适用于构建项目。虽然不是很确定执行测试用例。其他人则提到它无法正常工作,但我实际上并没有亲自尝试过。
自写了这个问题以来,我已经开始从XAML构建迁移到新的构建系统,该系统在构建过程中提供了更多的自定义功能,并且如果您阅读文档,实际上使用/理解起来要简单得多。
https://docs.microsoft.com/zh-cn/vsts/build-release/
| 归档时间: |
|
| 查看次数: |
2919 次 |
| 最近记录: |