Azure devops .Net 4.6升级后Visual Studio测试步骤出现CI生成错误-Executor进程退出;net.pipe上没有端点侦听

Azure devops .Net 4.6升级后Visual Studio测试步骤出现CI生成错误-Executor进程退出;net.pipe上没有端点侦听,azure-devops,tfsbuild,tfs-2015,azure-pipelines,.net-4.6,Azure Devops,Tfsbuild,Tfs 2015,Azure Pipelines,.net 4.6,我刚刚将解决方案中的所有项目升级到.NET4.6(有一个web应用程序、一些类库、一个数据库项目等)。我在VisualStudioTeamServices中设置了一个CI构建(使用新的构建系统,而不是XAML),该构建在升级之前已成功构建。此生成定义运行调试、暂存和生产生成,生成定义由两个步骤组成: Visual Studio构建 Visual Studio测试 在此框架升级之前,一切都很好。我升级并在本地构建了所有东西,一切都很好。我可以进行测试,并获得全面的绿色。现在,当我检查我的代码时

我刚刚将解决方案中的所有项目升级到.NET4.6(有一个web应用程序、一些类库、一个数据库项目等)。我在VisualStudioTeamServices中设置了一个CI构建(使用新的构建系统,而不是XAML),该构建在升级之前已成功构建。此生成定义运行调试、暂存和生产生成,生成定义由两个步骤组成:

  • Visual Studio构建
  • Visual Studio测试
在此框架升级之前,一切都很好。我升级并在本地构建了所有东西,一切都很好。我可以进行测试,并获得全面的绿色。现在,当我检查我的代码时,它启动了CI构建,我在“Visual Studio测试”步骤(取自日志)中遇到以下错误:

VisualStudio构建通过了所有三种配置,测试步骤仅在调试时失败,因为它找不到其他两种配置的任何测试。此外,我的生成运行的是Azure VM,我站起来充当生成服务器,当我使用托管生成控制器运行CI生成时,测试步骤通过,因为它找不到任何要执行的测试,但有关使用“隔离模式运行测试…”的警告仍会在日志中打印出来

这是一个已知的问题吗?其他人在4.6升级后或在VSTS的其他上下文中是否遇到过这种情况

编辑:生成计算机上安装了.Net Framework 4.6 SDK和目标包:

我找到了一个暂时可行的解决办法。我修改了Visual Studio测试生成步骤的设置,如下所示:

在步骤设置的“构建”选项卡上,展开“高级”部分,并将VSTest版本更改为“Visual Studio 2013”


对我来说就这些了。我尝试这样做是因为当我切换到托管的构建控制器时,我的构建正在工作,这是日志中这两者之间的区别之一。这是我唯一改变的事情,而且成功了。我不知道为什么Visual Studio 2015 VSTest版本不起作用,但如果我发现任何东西,我将进一步研究并添加到其中…

第一个警告表明测试在.NET 3.5上运行:
警告:。。。有效的平台:X86和.Net Framework:Framework35…

因此,我显式地将
vstest.console
framework版本设置为4.5。(目前4.6不是一个可用选项)。这为我解决了这些症状

为此,请编辑Visual Studio测试的生成步骤。在步骤设置的“构建”选项卡上,展开“高级”部分,并将“其他控制台选项”设置为“框架:框架45”


将测试项目升级到4.6.1后,我遇到了这个错误(特别是VSTest退出代码)。问题是packages.config没有正确更新测试框架运行程序pacakge,将其保留在.Net 3.5中。更新目标框架解决了问题。

安装.Net framework 3.5功能后,一切正常!请参阅位于

的“cottsay”注释,如果将Azure VM设置为构建服务器机器,则所有构建和测试都将在该VM上执行。所以,您应该确保测试可以直接在VM上成功运行(而不是通过构建过程)。此外,上面显示的错误消息总是在某些流量被防火墙阻止时产生的,因此请检查该Azure VM上的防火墙设置。我通过Visual Studio 2015在Azure VM(构建服务器)上成功运行了所有测试,并且在通过VSO运行测试任务时仍遇到上述错误。至于防火墙设置,对.NET4.6的项目更新如何影响这一点?防火墙没有任何变化。谢谢您使用的是.runsettings文件吗?正在使用,但截至此注释,仍然没有Framework46选项,使用的是TFS 2015 Update 1。NET 4.6程序集仍应为此手动选项使用Framework45。
2015-09-18T19:08:02.1212067Z Microsoft (R) Test Execution Command Line Tool Version 14.0.23107.0
2015-09-18T19:08:02.1489666Z Copyright (c) Microsoft Corporation.  All rights reserved.
2015-09-18T19:08:02.8906952Z Starting test execution, please wait...
2015-09-18T19:08:03.3713251Z Warning: Using Isolation mode to run tests as required by effective Platform:X86 and .Net Framework:Framework35 settings for test run. Use the /inIsolation parameter to suppress this warning.
2015-09-18T19:08:07.4457804Z ##[error]Error: Executor process exited.
2015-09-18T19:08:07.4457804Z ##[error]
2015-09-18T19:08:07.4557251Z ##[error]Error: There was no endpoint listening at net.pipe:[...redacted...] that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details.
2015-09-18T19:08:07.4557251Z ##[error]
2015-09-18T19:08:07.7730938Z ##[error]VSTest Test Run failed with exit code: 1
2015-09-18T19:08:07.8043435Z ##[warning]No results found to publish.