.net 如何在64位Windows 7上的Visual Studio 2008中运行和调试nunit测试?

.net 如何在64位Windows 7上的Visual Studio 2008中运行和调试nunit测试?,.net,visual-studio,windows-7,64-bit,testdriven.net,.net,Visual Studio,Windows 7,64 Bit,Testdriven.net,我已经将我的开发机器(WinXP/32位)换成了一台新的(Windows7/64位)。现在我在VisualStudio2008内部运行NUnit测试时遇到问题。我正在使用最新版本的 我想要的是: a) 如何使TestDrivenNet在Win7/64上工作 b) 寻找替代测试跑步者的建议。免费的优先 什么在WinXp/32上工作(不在Win7/64上工作): 在VS.NET中运行一个测试方法 在VS.NET中调试一个测试方法 在VS.NET中的一个类中运行所有测试 Win7/64上的症状

我已经将我的开发机器(WinXP/32位)换成了一台新的(Windows7/64位)。现在我在VisualStudio2008内部运行NUnit测试时遇到问题。我正在使用最新版本的

我想要的是:

  • a) 如何使TestDrivenNet在Win7/64上工作
  • b) 寻找替代测试跑步者的建议。免费的优先
什么在WinXp/32上工作(不在Win7/64上工作):

  • 在VS.NET中运行一个测试方法
  • 在VS.NET中调试一个测试方法
  • 在VS.NET中的一个类中运行所有测试
Win7/64上的症状:

  • 尝试运行测试时,运行程序报告“0通过,0失败,0跳过”。看起来在我的类中找不到任何测试
  • 使用TestDriven.NET-2.22.2468(RTM)和2.23.2497(beta)进行测试。同样的结果
问题:

  • 你能为Win7/64推荐一个运行良好的nunit测试运行程序吗?首选自由变体
  • 如何使testdriven.net运行程序工作,有什么建议吗

我将win7 64位与TD.NET 2.22.246配合使用,效果很好。 存在的其他Visual Studio运行程序只有mstest(仅作为32位进程运行)和(不是免费的)

要检查它是否是64位问题,您可以将测试项目构建为x86并使用TD.NET运行测试。在这种情况下,TD.NET将作为32位进程运行-您可以使用任务管理器并查看ProcessInvocation.exe来验证它

如果测试运行超过其64位问题。如果失败了,那么问题可能出在其他地方。
您是否在测试中使用其他工具?报道,嘲弄等,也许问题出在其他地方

我在TD.NET 2.22.246中使用win7 64位,它运行得很好。 存在的其他Visual Studio运行程序只有mstest(仅作为32位进程运行)和(不是免费的)

要检查它是否是64位问题,您可以将测试项目构建为x86并使用TD.NET运行测试。在这种情况下,TD.NET将作为32位进程运行-您可以使用任务管理器并查看ProcessInvocation.exe来验证它

如果测试运行超过其64位问题。如果失败了,那么问题可能出在其他地方。
您是否在测试中使用其他工具?报道,嘲弄等,也许问题出在其他地方

我的同事遇到了完全相同的问题,他这次能够提供最小的修复。我在这里转载它-也许它也会帮助其他人

看起来问题的根本原因是源Gear Vault 3.5.x。有关详细信息,请参阅他们的

将以下代码提交到注册表解决了无法工作的TD.NET问题:

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Interface\{6D5140C1-7436-11CE-8034-00AA006009FA}]
@="IServiceProvider"
[HKEY_CLASSES_ROOT\Interface\{6D5140C1-7436-11CE-8034-00AA006009FA}\NumMethods]
@="4"
[HKEY_CLASSES_ROOT\Interface\{6D5140C1-7436-11CE-8034-00AA006009FA}\ProxyStubClsid32]
@="{A4A1A128-768F-41E0-BF75-E4FDDD701CBA}"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{6D5140C1-7436-11CE-8034-00AA006009FA}]
@="IServiceProvider"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{6D5140C1-7436-11CE-8034-00AA006009FA}\NumMethods]
@="4"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{6D5140C1-7436-11CE-8034-00AA006009FA}\ProxyStubClsid32]
@="{A4A1A128-768F-41E0-BF75-E4FDDD701CBA}"

我的同事遇到了完全相同的问题,他这次能够提供最小的修复。我在这里转载它-也许它也会帮助其他人

看起来问题的根本原因是源Gear Vault 3.5.x。有关详细信息,请参阅他们的

将以下代码提交到注册表解决了无法工作的TD.NET问题:

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Interface\{6D5140C1-7436-11CE-8034-00AA006009FA}]
@="IServiceProvider"
[HKEY_CLASSES_ROOT\Interface\{6D5140C1-7436-11CE-8034-00AA006009FA}\NumMethods]
@="4"
[HKEY_CLASSES_ROOT\Interface\{6D5140C1-7436-11CE-8034-00AA006009FA}\ProxyStubClsid32]
@="{A4A1A128-768F-41E0-BF75-E4FDDD701CBA}"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{6D5140C1-7436-11CE-8034-00AA006009FA}]
@="IServiceProvider"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{6D5140C1-7436-11CE-8034-00AA006009FA}\NumMethods]
@="4"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{6D5140C1-7436-11CE-8034-00AA006009FA}\ProxyStubClsid32]
@="{A4A1A128-768F-41E0-BF75-E4FDDD701CBA}"

SharpDevelopIDE具有NUnit集成,但您还需要将项目更改为以x86为目标,以使一切顺利进行。感谢您的评论。SharpDevelop可以生成64位程序集,但不能使用nunit运行它们?奇怪,因为nunit有64位的runner。我已经尝试将任何CPU、x86和x64作为平台目标。同样的结果。TestMatrix也无法运行测试套件。从解决方案上下文菜单中使用NUnit 2.4测试和NUnit 2.5测试时,TDD可以运行测试。解决方案的调试程序测试和覆盖率测试只显示“0已通过,0已失败,0已跳过”消息。任务管理器中未显示ProcessInvocation.exe或ProcessInvocation 86.exe(我已尝试启用和禁用“测试运行之间缓存测试进程”)。托盘通知区域也没有显示图标。我也尝试过重新竖琴,它能够运行测试。如果只有Resharper的test runner可单独出售。resharper包的其余部分以我不太喜欢的方式改变了整个vs.net编辑器:-(“其他工具”:我正在干净的vs.net 2008项目上测试它,只有一个类具有[TestFixture]类属性,一个方法具有[Test]属性.Net 2.0作为目标平台,参考nunit.framework.dll版本2.2.7。不涉及其他工具。SharpDevelop IDE具有nunit集成,但您还需要将项目更改为目标x86,以使一切顺利进行。感谢您的评论。SharpDevelop可以构建64位程序集,但无法使用nunit运行它们?奇怪,因为nunit有64位运行程序。我尝试将AnyCPU、x86和x64作为平台目标。结果相同。TestMatrix也无法运行测试套件。TDD可以在解决方案上下文菜单中使用nunit 2.4测试和nunit 2.5测试时运行测试。使用Debugger测试和解决方案覆盖率测试只显示“0通过,0失败,0跳过”消息。任务管理器中未显示ProcessInvocation.exe或ProcessInvocation 86.exe(我已尝试启用和禁用“测试运行之间的缓存测试进程”)。托盘通知区域中也没有显示图标。我也尝试过Resharper,它能够运行测试。如果Resharper的测试运行程序可以单独出售的话。Resharper包的其余部分以我不太喜欢的方式更改了整个vs.net编辑器:-(“其他工具”:我在clean vs.net 2008项目上测试这个,只有一个类具有[TestFixture]类属性,一个方法具有[Test]属性.Net 2.0作为目标平台,参考nunit.framework.dll版本2.2.7。不涉及其他工具。很高兴您找到了解决方案。您能告诉我Source Gear是否将加载项安装到Visual Studio吗?SourceGear Vault将作为一个新的源代码管理插件安装。它在VS.Net的常规加载项中不显示,因此我认为这是一种特殊的加载项。可以说,Windows 7不支持Vault 3.5.x,他们建议升级到4.0版本。很高兴您找到了解决方案。C