混合模式程序集是针对运行时的版本"2.0.50727"构建的,无法在4.0运行时中加载

Emm*_*ina 6 .net mixed-mode assemblies .net-4.5 visual-studio-2012

我正在使用Visual Studio 2012和.Net Framework 4.5我有2个解决方案:1)WPF应用程序2)类库(dll)

类库包含3个按钮和一个必须位于WindosFormsHost控件内的控件,因为它是为WinForms制作的.

.NET Framework之外唯一引用的程序集用于前面提到的winforms控件和iTextSharp.

winforms控件似乎有点老了,当我把引用放在我的dll中时,我得到了与标题相同的错误但是跟着其他SO问题/答案,我把它放在我的配置文件中:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup useLegacyV2RuntimeActivationPolicy="true"> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
</configuration>
Run Code Online (Sandbox Code Playgroud)

错误:

混合模式程序集是针对运行时的版本"v2.0.50727"构建的,如果没有其他配置信息,则无法在4.0运行时加载

正如我所提到的,我已经看到了发布这个问题的问题,他们确实在我的DLL项目中解决了这个问题,但是在使用该DLL的项目中我尝试了它们都无济于事.以供参考:

  1. 在.NET 4.0项目中引用.NET 2.0混合模式程序集需要什么"附加配置"?
  2. 混合模式程序集是根据运行时的版本"v2.0.50727"构建的
  3. 'useLegacyV2RuntimeActivationPolicy'在.NET 4配置中做了什么?
  4. 混合模式程序集是针对运行时的版本"v2.0.50727"构建的,无法在4.0运行时中加载
  5. 混合模式程序集是针对版本X构建的,如果没有其他配置信息,则无法在运行时的版本Y中加载

在该项目中,我的配置文件具有完全相同的标签,具有相同的值.

还要注意,在我的WPF应用程序中,一开始我收到一个错误,它无法找到指定的dll(对于winforms控件),最后我将该控件的dll放在GAC中.

我已经尝试更改我的目标框架的所有可能性(4.5,4.0完全和客户端,3.5完整和客户端,3.0和2.0),在调试和发布中构建我的DLL并将"生成序列化程序集"设置为OFF,也,将平台目标从Any CPU更改为x86和x64.我只尝试一次更改一个设置的值.

这是VS2012中的问题,或者我需要做些什么来解决这个问题?

编辑:

上述错误在设计时显示在错误列表中,设计者显示错误"无法创建'my_class'的实例"

该内部异常说:"Set connectionId引发异常",其中的内部异常是标题消息.

这仍然允许构建解决方案,并且在运行应用程序时,我得到的基本相同,除了最里面的异常说:

"无法加载文件或程序集'SigPlusNET,Version = 1.1.3358.14336,Culture = neutral,PublicKeyToken = 6aef07010bb0624f'或其中一个依赖项.尝试加载格式不正确的程序."

那个是winForms控件的程序集,经过dotPeek检查,它唯一的依赖是.NET Framework的

小智 4

使用 Bling for DirectX 10.0(CodePlex 的 Bling UI 工具包)。我收到错误,导致我在此页面上寻找解决方案,D3D10.example 中的 app.config 文件包含受支持的运行时、version=4 行。但它不包括 version=2 .net 行的后续行,使用 app.config 如下:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
 <startup useLegacyV2RuntimeActivationPolicy="true">
  <supportedRuntime version="v4.0" />
  <supportedRuntime version="v2.0.50727" />
 </startup>
</configuration>
Run Code Online (Sandbox Code Playgroud)

解决了问题,一旦将配置文件修改为所示代码,所有示例都可以在 VS2012 中运行。

我不知道这篇文章是否为时已晚,我本月刚刚开始使用 Windows 7 和 VS2012 进行图形项目,配置更改解决了我的问题。


归档时间:

查看次数:

11923 次

最近记录:

10 年,6 月 前