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

2023-11-23

我正在使用 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>

错误:

混合模式程序集是针对运行时版本“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,并将“生成序列化程序集”设置为关闭, ,将平台目标从 Any CPU 更改为 x86 和 x64。我只尝试一次更改一项设置的值。

这是VS2012的问题还是我需要做什么来解决这个问题?

EDIT:

上述错误在设计时显示在错误列表中,设计器显示一条错误“无法创建‘my_class’的实例”

该异常的内部异常表示:“Set connectionId 引发了异常”,该异常的内部异常是标题消息。

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

“无法加载文件或程序集“SigPlusNET,Version=1.1.3358.14336,Culture=neutral,PublicKeyToken=6aef07010bb0624f”或其依赖项之一。尝试加载格式不正确的程序。”

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


使用 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>

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

混合模式程序集是针对运行时版本“2.0.50727”构建的,无法在 4.0 运行时中加载 的相关文章

  • Lego Mindstorm NXT 的 C# 库 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 是否有适用于 Lego Mindstorm NXT 的最新 C NET 库 NXT NET 乐高头脑风暴 最后更新时间 2008 年 4
  • 如何将Windows服务中的参数从Installer传递到Program.cs中的Main函数?

    我已成功将参数从 Installutil 传递到我的 serviceinstaller 但我似乎无法将这些参数传递到 Main string args 函数 这就是我尝试做到这一点的方法 如果有更好的方法来做我正在做的事情请告诉我 prot
  • 使用 C# 在 Powerpoint 2013 中创建具有多个系列的图表

    我使用的是 VS2013 Ultimate 带有 Office 2013 已安装 PowerPoint Excel 和 Word 我正在用 C 编码 我正在使用 C 创建 PowerPoint 演示文稿 到目前为止 我已经成功地完成了我想做
  • (可选)根据运行时值序列化属性

    从根本上讲 我想根据序列化时的值包含或省略生成的 Json 中的属性 更具体地说 我有一个类型 它知道是否已为其分配了值 并且我只想序列化该类型的属性 如果有 has是分配给它的东西 所以我需要在运行时检查该值 我试图让我的 API 更容易
  • 带有 Firebird 的 .NET 实体框架:UTF-8 数据库出现错误“超出实现限制。块大小超出实现限制”

    我将 Firebird ADO NET 提供程序版本 5 5 与实体框架 5 结合使用 对于 Firebird UTF 8 数据库 带有投影的 LINQ to SQL 查询 包括有条件地将字符串属性设置为常量 会导致错误 超出实现限制 块
  • 在应用程序窗口外检测 StylusDown

    简单的问题 希望答案不会是 你不能 我如何 在代码中 订阅 全局 手写笔按下事件 Windows 7 显然以某种方式做到了这一点 因为只要我使用手写笔 wacomm 笔和触摸 但这似乎无关紧要 就会出现小平板电脑图标 我想创建一个简单的绘图
  • 将对象列表打印到控制台

    我创建了一个带有 Listobj 对象类型的列表 并向对象添加了一组值 如何以年龄增长的方式从 newlist 中打印 Listobj 对象 class Listobj int age string name public int Age
  • 从网络位置读取文件

    我在网络驱动器上共享的文件夹中有一堆文件 我正在尝试将这些文件访问到我的代码中 但它给出了一个错误 用户代码未处理 System IO DirectoryNotFoundException Fname txtwbs Text Directo
  • 获取已安装的 Windows 应用商店应用程序列表

    有多种方法可以获取控制面板中 添加 删除程序 中已安装应用程序的列表 但我也想从 Windows 应用商店获取已安装应用程序的列表 到目前为止我还没有得到任何东西 有什么方法可以获取从 Windows 应用商店安装的应用程序列表吗 您可以在
  • WinDbg中出现“SOS版本与您正在调试的CLR版本不匹配”怎么办?

    我的某些应用程序出现问题 它是一个基于 wcf 的应用程序 在 Windows 2003 Server x86 的 IIS6 下运行 在事件日志中 我从 W3SVC WP 源 EventID 2262 收到这样的错误 ISAPI C WIN
  • Microsoft 同步框架 - 双向同步如何工作?

    我有两个客户端 A 和 B 两个客户端都有相同的同步本地数据缓存 如果客户端 A 对记录 X 进行离线编辑 然后客户端 B 也离线编辑记录 X 并与服务器同步 则当客户端 A 与服务器同步时 客户端 B 所做的更改不会反映出来 并且无论进行
  • 您应该在 Windows 8 应用程序的哪个位置编写“隐私策略”代码?

    我的应用程序未通过认证 原因是 4 1 1 如果您的应用程序具有网络功能 则必须有隐私声明 您必须在应用程序的说明页面以及 Windows 设置超级按钮中显示的应用程序设置中提供对隐私政策的访问权限 他们在说什么 什么描述 如何设置 Win
  • Visual Studio 2013 未发现单元测试

    我在 Visual Studio 2013 中有一个简单的解决方案 它由一个 Web 项目 一个库项目和一个单元测试项目组成 当我打开解决方案并尝试运行单元测试时 Visual Studio 不会发现它们 要运行测试 我尝试转到菜单并选择
  • WCF 每个端点有不同的身份验证方法

    我有 WCF 服务 我的服务有 2 个端点 每个端点都有不同的联系人 该服务使用自定义用户名身份验证 在 的 customUserNamePasswordValidatorType 属性中定义 问题是两个端点将使用相同的身份验证方法 无论如
  • Linq:Select 和Where 之间有什么区别

    The Select and WhereLinq 中提供了方法 对于这两种方法 每个开发人员都应该了解什么 例如 何时使用其中一种而不是另一种 使用一种相对于另一种的优势等 Where 查找匹配的项目并仅返回匹配的项目 过滤 gt IEnu
  • Sqlite 删除速度极其慢 - 如何加快速度?

    我读到删除操作很慢 我想知道如何改进此检查 我有一个每天填充 10 15k 行的表 每次启动时我都需要清理所有超过 6 个月的记录 但是当数据库增长时 我开始遇到速度问题 当我运行此命令时 有接近 100 万条记录 即使我没有任何内容要删除
  • 如何使用鼠标拖动和移动winform

    我知道如何通过添加以下代码来 拖动和移动 winform Protected Overrides Sub WndProc ByRef m As Message If m Msg 163 And ClientRectangle Contain
  • 用户控件内所有控件均为空

    我有一个 UserControl 它使用 UserControl 以及其他控件 In the ascx文件我有以下代码
  • C# datagridview 列转入数组

    我正在用 C 构建一个程序 并在其中包含一个 datagridview 组件 datagridview 有固定数量的列 2 我想将其保存到两个单独的数组中 但行数确实发生了变化 我怎么能这样做呢 假设一个名为 dataGridView1 的
  • TPL 数据流块下游如何获取源生成的数据?

    我正在使用 TPL Dataflow 处理图像 我收到处理请求 从流中读取图像 应用多次转换 然后将生成的图像写入另一个流 Request gt Stream gt Image gt Image gt Stream 为此 我使用块 Buff

随机推荐