2016-05-17 76 views
1

所以,我有一个C#应用程序,其中已经用XAML编写了一个GUI。我的应用程序刚刚运行并正确显示,但是,在对XAML中的一个GUI元素(字面上只是调整大小和移动按钮)进行了一些小修改后,我再次构建了我的代码,但现在尝试运行它时,我得到和错误信息说:C#FileNotFoundException未被用户代码处理

FileNotFoundException异常是未处理的用户代码

错误是突出行:

WebKit.WebKitBrowser browser = new WebKit.Browser(); 
MainWindow.xaml.cs文件

MainWindow.xaml是GUI源文件,我重新定位了其中一个GUI元素)。

我遇到过这个错误,并通过转到项目 - >添加引用,并检查'​​WindowsFormsIntegration'的复选框来修复它...但是,我已经仔细检查了这一点,它仍然被选中。

我都对着我的文件夹结构,并可以看到WebKit.Interop.dll文件是存在于我的调试和发布文件夹...

我也试图解开我的GUI所做的更改,重建,并再次运行代码,但我得到了同样的错误。

任何人有任何想法,为什么这是?我是否意外地点击/按下了我不应该拥有的东西?我该如何解决这个问题?

编辑

当我点击 '查看详情......' 在画面上显示的FileNotFoundException was unhandled by user code消息时,System.IO.FileNotFoundException说:

{“无法加载文件或程序集WebKit.Interop ,版本= 533.0.0.0,Culture = neutral,PublicKeyToken = b967213f6d29a3be'或其依赖项之一。系统找不到指定的文件。“:”WebKit.Interop,Version = 533.0.0.0,Culture = neutral,PublicKeyToken = b967213f6d29a3be“ }

InnerException具有值:

FileName是:

WebKit.Interop,版本= 533.0.0.0文化=中性公钥= b967213f6d29a3be

The FusionLog是:

===预绑定状态信息=== LOG:DisplayName的= WebKit.Interop,版本= 533.0.0.0文化=中性公钥= b967213f6d29a3be (完全指定的) LOG :Appbase = file:/// C:/ .../斌/调试/ LOG:初始PrivatePath = NULL

调用组件:WebKitBrowser,版本= 0.5.0.0,文化=中性公钥= b967213f6d29a3be。

LOG:此绑定在默认加载上下文中启动。 LOG:使用应用程序配置文件:C:\ bin \ Debug \ WpfApplication1.vshost.exe.Config LOG:使用主机配置文件: LOG:使用C:\ Windows \ Microsoft.NET \框架\ v4.0.30319 \ CONFIG \ machine.config中。 日志:策略后引用:WebKit.Interop,版本= 533.0.0.0,Culture = neutral,PublicKeyToken = b967213f6d29a3be 日志:试图下载新的URL文件:/// C:/.../bin/Debug/WebKit .Interop.DLL。 日志:试图下载新的URL文件:/// C:/.../bin/Debug/WebKit.Interop/WebKit.Interop.DLL。 日志:试图下载新的URL文件:/// C:/.../bin/Debug/WebKit.Interop.EXE。 日志:试图下载新的URL文件:/// C:/.../bin/Debug/WebKit.Interop/WebKit.Interop.EXE。

当我看着由FusionLog指定的文件夹位置,我可以看到WpfApplication1.vshost.exe文件时,它在寻找......(有WpfApplication1.vshost应用程序清单,WpfApplication1.vshost应用,WpfApplication1.vshost.exe XML配置& WpfApplication1.vshost.exe.manifest清单的文件都在位置...(和其他几个人:.exe.exe.manifestSource Browser Database等)

编辑

其中此异常发生的代码只是构造为我MainWindow.xaml.cs类,即这里我声明全局变量该类以上:

using Newtonsoft.Json.Linq; 
using System; 
using System.Collections.Generic; 
using System.Windows; 
using System.Windows.Controls; 
using System.Threading; 
using System.Threading.Tasks; 
using System.Diagnostics; 
using System.IO; 
using System.Text; 
using System.Xml; 
using System.Windows.Media; 
using System.Windows.Forms; 
using WebKit; 
using System.Collections; 

namespace Agent 
{ 
    public partial class MainWindow : Window 
    { 
     ... 
     System.Windows.Forms.Integration.WindowsFormsHost host = new System.Windows.Forms.Integration.WindowsFormsHost(); 
     WebKit.WebKitBrowser browser = new WebKit.WebKitBrowser(); 

     ... 
    } 
} 

异常正上线抛出:

WebKit.WebKitBrowser browser = new WebKit.WebKitBrowser(); 

,并说,它

无法加载文件或程序集WebKit.Interop版本533.0.0.0 ...

+0

为AppDomain.Current.UnhandledException添加处理程序,并发布完整的stacktrace和InnerException(如果有的话) –

+0

不知道为什么,但无法编辑对Android应用程序的评论。看看这里https://msdn.microsoft.com/en-US/library/system.appdomain.unhandledexception(v=vs.110).aspx –

+0

听起来像一个有趣的视觉工作室 - 做一个完整的干净,密切的视觉工作室,并重新开放。可悲的是,在这之后,这些问题往往会得到解决。 – JamesDill

回答

0

这里的问题是我做了'重建',而不是只是再次构建我的代码,编译器已从我的生成文件夹中删除webkit.interop.dll文件。将webkit.interop.dll手动从release build文件夹手动复制到debug build文件夹后,解决了问题。

相关问题