混合模式程序集是针对版本xxxx构建的

时间:2015-06-18 05:47:20

标签: .net vb.net clr

我试图在我的应用程序中制作电影:

 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
     Dim audioFile As Audio = New Audio("My.Resources.MyMovie.mov")
     audioFile.Play()
 End Sub

MyMovie是.mov文件,保存在My.Resources下,我想在vb.net程序中访问该文件。单击按钮时,我希望播放该电影。问题是,当我点击按钮时,我收到此错误:

  

混合模式程序集是针对版本' v1.1.4322'运行时的运行时,如果没有其他配置信息,则无法在4.0运行时加载。

除上述错误外,我还得到以下内容:

  

FileLoadException未处理。

1 个答案:

答案 0 :(得分:0)

您正在尝试使用较新版本的.NET的旧库。在理想的世界中,每个图书馆都将建成并且为最新平台更新,但事实并非如此。

useLegacyV2RuntimeActivationPolicy需要设置为true文件中的app.Config,例如:

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

显然,如果您使用的.NET版本高于4.0,则需要将版本参数Version=v4.0Version="v4.0"换成您正在使用的版本。

<startup>元素的其他信息可以be found here,来自我链接的官方文档:

  

指定是否启用.NET Framework 2.0运行时激活   策略或使用.NET Framework 4激活策略。

FileLoadException was unhandled.错误是由上述原因引起的。