【问题标题】:Changing dot net target framework from 4.0 to 4.5 is not changing the Runtime version of the dll referenced.将 dot net 目标框架从 4.0 更改为 4.5 不会更改引用的 dll 的运行时版本。
【发布时间】:2014-07-01 06:45:45
【问题描述】:

我有一个 .Net 解决方案,它有大约 16 个项目,现在我必须将目标框架从 4.0 迁移到 4.5,并且该解决方案中的一些项目被解决方案中的其他项目作为 dll 引用。

我的问题是,即使在项目属性中将 .Net 框架版本更改为 4.5 后,运行时版本仍仅显示 4.0,这正在终止我的应用程序。

【问题讨论】:

  • 在过去的 9 年里只有两个运行时版本,v2.0.50727 和 v4.0.30319。在此期间发布的其他 .NET 版本只是添加了额外的程序集。就像 4.5 一样。因此,无论您的问题是什么,它都不是您的想法。
  • 感谢@HansPassant 明白了你的意思,更多搜索发现运行时版本(CLR 版本)和 dll 版本之间存在差异。我的问题是别的。

标签: .net visual-studio-2012 dll frameworks


【解决方案1】:

您应该尽可能在 VS 中进行项目引用而不是 DLL 引用。您的问题只是项目引用相对于程序集引用的好处之一。主要区别在于,通过引用项目VS在解析依赖时会更聪明,例如,如果你编译一个项目VS解析所有依赖项目(如果在同一个解决方案中)并确定它是否需要编译这个依赖项目,如果引用使用的是更高版本的 .NET Framework,VS 甚至会警告您。请注意,您仍然需要更改每个项目的“目标框架”。

添加项目引用...

  1. 右键单击项目
  2. 点击“添加参考...”
  3. 选择左侧面板上的“项目”选项卡而不是“浏览...”选项卡以显示当前解决方案中的项目列表

请看下面的截图...

有时您无法创建项目引用,在这种情况下,您需要重新编译您的项目(如果需要,运行一个干净的命令),然后通过覆盖 dll 引用重新部署 DLL

【讨论】:

    猜你喜欢
    • 2016-12-12
    • 2014-10-09
    • 1970-01-01
    • 1970-01-01
    • 2019-03-02
    • 1970-01-01
    • 2015-12-21
    • 1970-01-01
    相关资源
    最近更新 更多