【问题标题】:Using a .Net 4.5 library in a .Net 3.5 Project在 .Net 3.5 项目中使用 .Net 4.5 库
【发布时间】:2021-05-03 18:29:06
【问题描述】:

我开始在我的 .Net 表单项目中使用 MailChimp.Net 库,该项目在 .Net 4.0 CLR 中运行。

我添加了 DLL 并成功在各个页面上使用它。但是,我需要将它移动到当前针对 .NET 3.5 框架的库中。当我添加对 MailChimp.net 的引用时,我收到错误消息说它无法加载,因为它针对 4.5。当我将库项目的目标框架更改为 4.5 时,我收到错误消息说该站点无法再使用它:

主要参考 “\bin\debug\Library.dll” 无法解决,因为它间接依赖于 .NET 框架程序集“System.Core,版本=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 版本“4.0.0.0”比当前目标中的版本“3.5.0.0” 框架。

我觉得我错过了什么。有人能指出我正确的方向吗?

【问题讨论】:

  • 专注于解决此问题:When I change the target framework of my library project to 4.5, I get errors saying the site can no longer use it. 请更新(“编辑”)您的帖子,并提供确切的错误消息。
  • 不要尝试导入代码。将站点升级到 4.5 - 修复问题和错误。然后并且只有在那时您才想开始引入新的代码和库。
  • @paulsm4 - 完成了。谢谢。
  • @AlbertD.Kallal - 这是一个庞大的遗留项目。我不能简单地将网站升级到 4.5。
  • 很遗憾,您别无选择。如果您想使用较新的 .net 库,则需要升级现有站点。真的没有任何其他可行的答案。完全不清楚为什么从 3.5 升级到 4.5 会破坏很多代码 - 它根本不应该。我升级了一些较旧的 .net 网站,但几乎没有任何问题。但是这种升级是必需的,而且这里确实没有其他实用的答案。更糟糕的是,随着时间的推移,如果您不进行此升级,您将采用的库将越来越多。

标签: asp.net


【解决方案1】:
  1. 你基本上有两种选择:

    • 查找适用于您的 .Net 3.5 项目的旧版 MailChimp.Net
    • 将您的项目升级到 .Net 4.5(或至少升级到 .Net 4.0)。
  2. 升级您的项目应该相当简单。正如 Albert D. Kallal 在他的 cmets 中所说:

从 3.5 升级到 4.5 不会破坏太多代码。一世 升级了一些较旧的 .net 网站,几乎没有任何问题。但是那种 升级是必需的,这里真的没有其他实用的答案......

  1. 但你面临的现实是:

    • 较新的平台倾向于支持与旧程序集的向后兼容性, ...但是...
    • 反之正确:您通常不能在旧平台上使用较新的库。
  2. 好消息:如果您更新......那么您将能够更好地适应您将来可能希望进行的其他更改。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-03
    • 1970-01-01
    • 2016-03-25
    • 2013-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-15
    相关资源
    最近更新 更多