gpt4 book ai didi

unit-testing - 在未安装 Visual Studio 的情况下使用 vstest.console.exe 运行 c++ unittest

转载 作者:行者123 更新时间:2023-12-04 04:43:17 29 4
gpt4 key购买 nike

我将 TestWindow 文件夹(C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow)复制到一台没有安装 Visual Studio 的机器上,并尝试运行 vstest.console.exe x64 cpp 测试 dll 上的命令。

vstest.console.exe tests.dll /tests:testmethod1 /platform:x64 /logger:console

这是我在事件日志中看到的错误。

应用程序:vstest.discoveryengine.exe
框架版本:v4.0.30319
描述:进程因未处理的异常而终止。
异常信息:System.IO.FileNotFoundException
堆:
在 Microsoft.VisualStudio.TestPlatform.TestRunnerService.DataCollectors.DataCollectionPluginManager..ctor()
在 Microsoft.VisualStudio.TestPlatform.TestRunnerService.WcfTestRunnerService..ctor(System.Threading.ManualResetEvent)
在 Microsoft.VisualStudio.TestPlatform.TestRunnerService.TestRunnerServiceHost.CreateServiceHost(System.String, System.Threading.ManualResetEvent)
在 Microsoft.VisualStudio.TestPlatform.TestRunnerService.ServiceMain.Main(System.String[])

最佳答案

FileNotFoundException是由于缺少一些必需的程序集。我使用 WinDbg 发现了这些并将它们复制到 TestWindow 文件夹中。

 - Microsoft.VisualStudio.Diagnostics.Measurement.dll
- Microsoft.VisualStudio.Diagnostics.ServiceModelSink.dll
- Microsoft.VisualStudio.QualityTools.Common.dll
- Microsoft.VisualStudio.QualityTools.ExecutionCommon.dll
- Microsoft.VisualStudio.QualityTools.Resource.dll
- Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll

这些程序集可以在 C:\windows\assembly\GAC_MSIL 中找到。在安装了visual studio的机器上。

我还注意到,如果我删除了 /testsvstest.console 切换命令,不需要这些额外的 dll。

还将以下 dll 复制到 TestWindow 文件夹(以解决目标机器没有 Visual C++ 运行时的情况)
 - C:\Windows\System32\msvcr120.dll
- C:\Windows\System32\msvcp120.dll

关于unit-testing - 在未安装 Visual Studio 的情况下使用 vstest.console.exe 运行 c++ unittest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24787856/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com