我想用 NUnit 测试中的文本填充 Forms.Clipboard。
我遇到的第一个问题是剪贴板必须在 STA 模式下使用。我找到了在方法上设置 RequiresSTA 属性的解决方案(NUnit 2.5.x+)。
接下来我在调用 Clipboard.SetText() 时得到一个 ExternalException。我找到了使用 Clipboard.SetDataObject(object, bool, int, int) 的解决方案,您可以在其中指定 retryTimes 以多次尝试设置剪贴板。这种 hacky 解决方案有时会起作用,这显然不够好(增加 retryTimes 参数当然也会增加成功的机会)。
其他人(例如Peter)已经成功了,所以这可能与我的环境有关:我在 Windows 7 64 位目标 .NET 3.5 和 x86 下运行 VS2010。NUnit 版本是 2.5.9。
我被困住了。任何帮助,将不胜感激。