我正在尝试快速启动示例,我在VS2010中使用NuGet引入了ref,我在网页上搜索示例代码,我看到我的NUnit会话窗口,我点击绿色箭头,但是浏览器没有被调用(不启动)。我错过了什么?
using System;
using NUnit.Framework;
using WatiN.Core;
namespace FirstWatinProject
{
[TestFixture]
public class Class1
{
[Test]
[STAThread]
public void SearchForWatiNOnGoogle()
{
using (var browser = new IE("http://www.google.com"))
{
browser.TextField(Find.ByName("q")).TypeText("WatiN");
browser.Button(Find.ByName("btnK")).Click();
Assert.IsTrue(browser.ContainsText("WatiN"));
}
}
}
}
我在NUnit Sessions窗口中收到以下错误;
SearchForWaitOnGoogle失败:System.IO.FileNotFoundException:可以 不加载文件或程序集'Interop.SHDocVw,版本= 1.1.0.0, 文化=中立等...
答案 0 :(得分:4)
好的,解决了错误,就像下面的其他溢出线程一样; WatiN System.IO.FileNotFoundException Interop.SHDocVw
但是,序列中的关键操作是在将Interop.SHDocVw dll''嵌入互操作类型'属性设置为'False'之后构建类库项目;
然后你可以点击NUNIT Sessions窗口中的绿色箭头,你会看到IE浏览器在一两秒后启动。只需单击它,您就会看到已编程的任何操作。
上帝在细节中!
答案 1 :(得分:1)
将Interop.SHDocVw,Microsoft.mshtml dlls''Embed Interop Types'属性设置为'False';
当然Visual Studio会给你关于如何修改的警告。
使用Nugget Package Manager
答案 2 :(得分:0)
检查Interop.SHDocVw.dll的可用性, 确保您的项目引用Interop.SHDocVw.dll,并且bin / Release文件夹中存在dll,具体取决于您的运行方式..
答案 3 :(得分:0)
只需从主菜单中选择Build ...然后选择Configuration Manager。在列表中选择您的项目并将其Plateform'Any CPU'等更改为x86。
如果你只有Only CPU选项,你可以在选择平台时使用...选项并创建新设置,即X86平台然后选择它。
答案 4 :(得分:0)
我已经提到了Interop.SHDocVw。对我来说最简单的解决方法就是在Visual Studio设置中将.NET从4.5更改为3.5。在做出改变之后,它运作良好。