使用混合模式汇编时,VS2012 Designer和Intellisense不起作用

时间:2013-05-31 06:47:37

标签: .net xaml exception visual-studio-2012 intellisense

我得到异常" FileLoadException:混合模式程序集是针对版本' v1.1.4322'如果没有其他配置信息,则无法在4.0运行时加载运行时#34;。

在互联网上搜索我发现许多人在运行时遇到这个异常,但似乎我是唯一一个在VS2012中开始进入Designer视图的人。

设计师只是向我展示了这条消息,在关闭设计师视图并再次启动它之后,我没有收到此消息,设计师显示了我的对话框元素。但现在在xaml视图中,我没有任何智能支持。

我的应用程序是针对.NET Framework 4.5编译的,而在app.config中我有

  <startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/></startup>

但这并没有帮助。

对于使用DirectX显示视频控件的所有对话框都会出现这种情况。正如你可以想象的那样,在没有智能感知的情况下在xaml工作非常令人沮丧。

那么有人知道如何在设计视图中摆脱这个异常并让intellisense在这些对话框窗口中工作吗?

仅供参考:我对VS2010和.NET 4.0没有这些问题。

修改

我无法显示确切的源代码,因为它是一个非常大的应用程序,我无法在一个小样本中重现此问题。但这里有一些额外的信息:

对话框如下所示:

<Window x:Class="DesignerTest.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:Controls="clr-namespace:WPFMediaKit.DirectShow.Controls;assembly=WPFMediaKit"
    Title="MainWindow" Height="350" Width="525">
<DockPanel>
    <ComboBox DockPanel.Dock="Bottom" x:Name="videoCapDevices"
                      ItemsSource="{Binding Source={x:Static Controls:MultimediaUtil.VideoInputDevices}}"
                      DisplayMemberPath="Name"
                      Foreground="Black"
                      FontSize="20"
                      VerticalAlignment="Top"
                      Margin="0, 30, 0,0" />
    <Controls:VideoCaptureElement DesiredPixelWidth="320"
                                              DesiredPixelHeight="240"
                                              FPS="30"
                                              VideoCaptureDevice="{Binding Path=SelectedItem, ElementName=videoCapDevices}"
                                              x:Name="videoElement" Stretch="Fill" />

</DockPanel>

我使用开源项目WPFMediaKit和DirectShowLib-2008并编译为x86 cpu。 DirectShowLibWPFMediaKit,主要应用程序是强名称签名。

1 个答案:

答案 0 :(得分:0)

我找到了重建程序集here

的建议

以及关于此blogIIS forum

中类似错误的两个有趣讨论