混合模式程序集是针对版本“v2.0.50727”C#Enterprise架构师加载项构建的

时间:2012-11-05 04:44:28

标签: c# .net-4.0 enterprise sharpsvn

我正在使用C#构建Enterprise Architect加载项。我必须与SVN Repository交互。 我使用VS2010和SharpSVN作为库与SVN Repository进行交互。当我将其更改为.NET 3.5时,我的加载项工作正常。但现在我必须查询另一个加载项,而其他加载项只与4.0兼容。

但是当我将加载项代码更改为.NET 4.0时,它会出现着名的错误

“混合模式程序集是针对运行时版本'v2.0.50727'构建的,无法在4.0运行时加载,需要一些配置等”

我在这里已经阅读了有关该问题的不同主题,建议添加app.config文件。标签

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

同样来自不同帖子的标签。我已经尝试过所有人,但问题仍然存在。我已经检查过VS2010会自动在Debug文件夹中自动生成配置文件。

有人能建议我解决方案吗?例如,我的加载项名称是MyAddIn,因此VS2010生成带有上述标记的MyAddIn.dll和MyAddIn.dll.config。

但问题仍然存在。我使用的是Windows 7 64位。

任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:3)

* .dll.config中的设置是无用的,这就是为什么你无法得到你想要的东西。当您的dll由Enterprise Architect加载时,您必须修改其* .app.config文件以包含此类设置。通常情况下,这是不可能的,因为你的dll只是一个加载项。

解决方法是执行到.NET 4的完全迁移,它不仅可以针对.NET 4编译您的dll,还可以针对.NET 4编译所有依赖项。