【问题标题】:Mixed mode assembly is built against version ‘v2.0.50727′ C# Enterprise architect add-in混合模式程序集是针对版本“v2.0.50727”C# 企业架构师插件构建的
【发布时间】:2012-11-05 04:44:27
【问题描述】:

我正在使用 C# 构建 Enterprise Architect 插件。我必须与 SVN 存储库交互。 我使用 VS2010 和 SharpSVN 作为库来与 SVN 存储库进行交互。当我将其更改为 .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 位。

任何帮助将不胜感激。

【问题讨论】:

    标签: c# .net-4.0 enterprise sharpsvn


    【解决方案1】:

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

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

    【讨论】:

    • 我试图针对 .NET 4.0 对其进行编译并且它已被编译,但是当我在 Enterprise Architect 中访问我的加载项时,它会在运行时给出此“混合模式程序集是针对版本构建的” v2.0.50727'" 错误 对此问题的任何解决方案都将受到高度赞赏。
    • 当你说“它”时,请重新阅读我输入的内容。简而言之,它链接到的所有依赖项(引用)也需要针对 .NET 4 重新编译。
    猜你喜欢
    • 2011-09-19
    • 2013-01-26
    • 2016-05-08
    • 1970-01-01
    • 2016-03-29
    • 2023-03-24
    • 2011-04-30
    • 1970-01-01
    • 2012-08-11
    相关资源
    最近更新 更多