我得到异常" 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。 DirectShowLib,WPFMediaKit,主要应用程序是强名称签名。