更新 Build Controller/Agents 以构建 C# 6 /.NET 4.6 应用程序
Update Build Controller/Agents to build C# 6 /.NET 4.6 application
现场情况:
我们使用 Visual Studio 联机和我们公司网络中的本地构建服务器以及 TFS 2013 在门控签入和发布后构建我们的解决方案。
现在我们从Visual Studio 2013 升级到Visual Studio 2015 Enterprise 并升级到新的.NET 版本。我们真的很想利用 C# 6 的新功能,但在第一次签入后,我们发现构建失败了。
(不好意思这里没有图片,因为我缺乏声誉)
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.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor
executor, BookmarkManager bookmarkManager, Location resultLocation)
ApplicationManager.cs (33, 0) Unexpected character '$'
ApplicationManager.cs (33, 0) ; expected
似乎构建代理不理解新语法,仍然使用旧版本编译。
我为了修复它所做的是:
在本地构建服务器上安装 Visual Studio 2015(仍安装旧版本 Visual Studio 2013)
重新启动构建控制器
按照此处的步骤操作:
基本上是安装 Visual Studio 2015 和新的 Microsoft Build Tools
- here 中非常有前途的步骤:
我使用其中一个模板创建了一个新的构建定义
通过 Web 访问为 Visual Studio 在线创建了一个新的代理池。已下载
ConfigureAgent.ps1 并在构建服务器上执行它以创建一个新的
代理。但是我不知道如何使用新创建的代理。
我的问题是:如何在
中将构建代理更新到 运行 而不会失败
关于新的 .NET 版本?
我怀疑你还是运行 2013 Build agent?在这种情况下,打开您的构建过程模板并查找 "Run Msbuild for project" 任务。将 ToolPath 属性 设置为安装 v14 MsBuild 的位置。默认值:
C:\Program Files (x86)\MSBuild.0\Bin
这应该允许您使用 C# 6 语法元素。
通过删除 Roslyn nuget 包来删除 ,现在不再需要 NuGet 包,因为 Visual Studio 2015 是 RTM。 VS2013 不再支持相同的包。
您下载的新 TFS 2015 生成代理不会与 TFS 2013 通信,TFS 2015 XAML 生成代理也不会。只要您的服务器是 运行 TFS 2013,您就只能使用 TFS Build 2010 直到 2013 年(包括 2013 年)。
连接到 VSO you should be able to use the new 2015 build agent 时。但是您需要使用 Web 界面创建新的构建定义。您不能将退出的 XAML 构建定义与新的构建代理一起使用。
您还可以安装 TFS 2015 XAML 代理。安装它 install TFS 2015 on the build server and only run the steps to configure the XAML build agent。这将从您的计算机中删除 TFS 2013 构建服务器。
我无法设置工具路径 属性,因为 "Run Msbuild for project" 在我使用的 "TfvcTemplate.12.xaml" 中被更抽象的 "Run MSBuild"-Activity 取代。我认为它随 TFS 2013 Update 4 一起提供。
我在 BuildMachine 上安装了 VS 2015。
我通过添加 /tv:14.0 参数作为 MSBuild 参数(在 Build-Definition\Process.Build.Advanced\MSBuild 中更改了构建参数)
这对我有用。查看来自
的回答
现场情况:
我们使用 Visual Studio 联机和我们公司网络中的本地构建服务器以及 TFS 2013 在门控签入和发布后构建我们的解决方案。
现在我们从Visual Studio 2013 升级到Visual Studio 2015 Enterprise 并升级到新的.NET 版本。我们真的很想利用 C# 6 的新功能,但在第一次签入后,我们发现构建失败了。
(不好意思这里没有图片,因为我缺乏声誉)
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.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor executor, BookmarkManager bookmarkManager, Location resultLocation) ApplicationManager.cs (33, 0) Unexpected character '$' ApplicationManager.cs (33, 0) ; expected
似乎构建代理不理解新语法,仍然使用旧版本编译。
我为了修复它所做的是:
在本地构建服务器上安装 Visual Studio 2015(仍安装旧版本 Visual Studio 2013)
重新启动构建控制器
按照此处的步骤操作:
基本上是安装 Visual Studio 2015 和新的 Microsoft Build Tools
- here 中非常有前途的步骤:
我使用其中一个模板创建了一个新的构建定义
通过 Web 访问为 Visual Studio 在线创建了一个新的代理池。已下载
ConfigureAgent.ps1 并在构建服务器上执行它以创建一个新的
代理。但是我不知道如何使用新创建的代理。
我的问题是:如何在
中将构建代理更新到 运行 而不会失败关于新的 .NET 版本?
我怀疑你还是运行 2013 Build agent?在这种情况下,打开您的构建过程模板并查找 "Run Msbuild for project" 任务。将 ToolPath 属性 设置为安装 v14 MsBuild 的位置。默认值:
C:\Program Files (x86)\MSBuild.0\Bin
这应该允许您使用 C# 6 语法元素。
通过删除 Roslyn nuget 包来删除
您下载的新 TFS 2015 生成代理不会与 TFS 2013 通信,TFS 2015 XAML 生成代理也不会。只要您的服务器是 运行 TFS 2013,您就只能使用 TFS Build 2010 直到 2013 年(包括 2013 年)。
连接到 VSO you should be able to use the new 2015 build agent 时。但是您需要使用 Web 界面创建新的构建定义。您不能将退出的 XAML 构建定义与新的构建代理一起使用。
您还可以安装 TFS 2015 XAML 代理。安装它 install TFS 2015 on the build server and only run the steps to configure the XAML build agent。这将从您的计算机中删除 TFS 2013 构建服务器。
我无法设置工具路径 属性,因为 "Run Msbuild for project" 在我使用的 "TfvcTemplate.12.xaml" 中被更抽象的 "Run MSBuild"-Activity 取代。我认为它随 TFS 2013 Update 4 一起提供。
我在 BuildMachine 上安装了 VS 2015。
我通过添加 /tv:14.0 参数作为 MSBuild 参数(在 Build-Definition\Process.Build.Advanced\MSBuild 中更改了构建参数)
这对我有用。查看来自