【发布时间】:2017-12-19 20:08:44
【问题描述】:
我有一个编译为 64 位的 ADO.NET 驱动程序。因此,我需要在 64 位模式下运行 mstests。这可能吗?
(开发机器是64位)。
【问题讨论】:
我有一个编译为 64 位的 ADO.NET 驱动程序。因此,我需要在 64 位模式下运行 mstests。这可能吗?
(开发机器是64位)。
【问题讨论】:
Visual Studio 对此有一个内置选项。有点难找(如果你不知道去哪里找)。
在Solution Explorer 中双击local.testsettings 文件并在列表框中选择Hosts。然后如图所示进行更改。
您必须在 64 位操作系统中进行测试,并且您的应用程序应使用 AnyCPU 编译。
【讨论】:
SPSite 时修复了 SharePoint FileNotFoundException。在 64 位模式下运行 IIS 6 时,MSTest 需要 x64 测试运行器 进行 Sharepoint SPSite 测试。
在 Visual Studio 2013 中更容易。在运行测试之前选择测试->测试设置->默认处理器架构->x64
【讨论】:
尝试this blog post中描述的解决方案:
mstest.exe 并运行 CorFlags.exe MSTest.exe /32BIT- /Force 以删除 32 位标志/noisolation 运行您的测试:MSTest.exe /testcontainer:<your-assembly> /resultsfile:<your-results-file> /noisolation
MSTest.exe修改后失败,运行reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\StrongName\Verification\MSTest,b03f5f7f11d50a3a /f跳过强名验证【讨论】:
/noisolation 的情况下运行应该会让你运行VSTestHost.exe,它仍然是32 位的。不过我自己没试过。请务必备份mstest.exe。作为替代方案,您可以使用脚本在 32 位和 64 位 mstest.exe 之间来回切换。
mstest.exe 复制为mstest64.exe 并运行标志删除和测试?