【问题标题】:Is there any way to load an assembly compiled in VS2010 in VS2005?有没有办法在VS2005中加载用VS2010编译的程序集?
【发布时间】:2010-08-04 19:17:10
【问题描述】:

我们在 VS2005 项目中有一个函数,它加载程序集并从中获取类型信息。但它不会实例化这些类型。我们尝试加载一些在 2010 年编译的程序集,但不断收到以下异常。

“无法加载文件或程序集 '2010ClassLibrary' 或其依赖项之一。此程序集由比当前加载的运行时更新的运行时构建,无法加载。”

有没有办法解决这个问题?

【问题讨论】:

  • 你可以尝试仅反射加载,但它能够加载面向 CLR4 的程序集是一个延伸
  • 你能把VS2005项目升级到.net 4吗? :)
  • 如果您不拥有这些程序集,那么您需要尽可能向制作它们的人询问 .Net 2.0 版本(只要您自己使用 VS2005)。如果您需要免费版本,可以查看 VS2010 的 Express 版本。
  • 假设它不是一个可视化组件(例如业务逻辑),您可以通过创建一个基于 VS 2010 的 Windows 服务项目并将您的 2010 组件托管在那里通过 WCF 公开它来代理它。 HTH
  • 谢谢。我喜欢你的想法

标签: c# .net reflection .net-2.0 .net-4.0


【解决方案1】:

如果您在 VS2010 解决方案的代码中未使用任何 .Net 4 功能,则将解决方案的目标设置为 .Net 2.0。这将允许您在 VS2005 中引用它。 .Net 3.5可以在VS2008中使用。

【讨论】:

    【解决方案2】:

    您可以在 .net 4 下运行应用程序,然后加载程序集的代码应该没问题。

    http://msdn.microsoft.com/en-us/library/f4kkd0k5.aspx

    【讨论】:

      猜你喜欢
      • 2011-12-13
      • 1970-01-01
      • 2020-08-29
      • 2012-04-16
      • 1970-01-01
      • 2012-02-04
      • 1970-01-01
      • 2011-01-23
      • 1970-01-01
      相关资源
      最近更新 更多