VS 2010:打开包含System.Windows.Interactivity的项目的XAML文件时的例外情况

时间:2011-12-19 15:08:53

标签: wpf visual-studio-2010 exception

我的问题如下:我向我的WPF项目(.NET 4,VS2010)添加了对程序集“System.Windows.Interactivity”的引用以实现行为。整个解决方案构建并运行。作为行为实现的所需功能正常工作。

但是一旦我打开一个XAML文件(只显示XAML代码,设计器没有显示),我在错误窗口中得到两个异常:

第一例外: “System.IO.FileLoadException抛出”SomeFile.xaml“:无法加载文件或程序集'System.Windows.Interactivity,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一。不支持操作。(HRESULT异常:0x80131515)。“

第二例外: “无法加载文件或程序集'System.Windows.Interactivity,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其中一个依赖项。不支持操作。(HRESULT异常:0x80131515)”

即使我打开不包含新行为的XAML文件,也会出现异常。除了这些例外,该解决方案构建并运行。 如果我关闭XAML文件,则异常消失。

http://connect.microsoft.com/VisualStudio/feedback/details/648819/visual-studio-2010-silverlight-designer-crash中描述了类似的问题。但这是针对SL4的。

如何删除这些例外?这有什么不对?

谢谢, 弗洛里安

2 个答案:

答案 0 :(得分:3)

我知道这是一个非常古老的帖子,但我花了几个小时在今晚与这个完全相同的错误挣扎。令我疯狂的是,这个解决方案在6个月之前对我很有用,然后我把它交给了我的客户,然后他们把它交给了VSS。他们给了我一个(略微修改过的)他们压缩的代码库,这真的体现在Intellisense退出XAML文件中。

最终我的诀窍是我以前从未遇到的事情。我导航到System.Windows.Interactivity.dll的物理文件位置,在“安全”部分底部的常规选项卡下面是这个小块:

“此文件来自另一台计算机,可能会被阻止以帮助保护此计算机。”

此消息旁边是“取消阻止”按钮。我点击了这个按钮,重新加载了我的项目,错误立即消失,Intellisense立即开始在我的XAML文件中工作。

答案 1 :(得分:1)

有同样的问题。约会后,它停止了工作。当我使用文件属性检查system.windows.interactivity.dll时,我发现打开时为NUnit。然后我想起我最近安装了NUnit。我刚用VS选择器更改了openwith(也一如既往地设置)并重新启动了VS. Hurray ..例外消失了......

不确定openwith如何影响VS IDE。但让它再次运作......回到赛道:D