混合,从.net Framework 4.0调用.net 4.5

本文关键字:net 调用 Framework 混合 | 更新日期: 2023-09-27 18:17:36

我有一个针对。net Framework 4.0编写的应用程序。在其中一个基础项目中,我必须添加一个在。net 4.5中完成的引用。所以,为了构建这个项目,我不得不将它的目标框架切换到4.5。

现在,问题是VS抱怨每个项目在应用程序中引用这个基本项目。

  1. 是否有一种方法,我可以使这个基础项目的目标框架4.5,而不必改变所有的项目是引用它。

  2. 我可以将两个框架和调用从。net 4项目混合到。net 4.5项目吗

  3. 最好的解决方案是,如果我可以在基础项目中使用。net 4.5中内置的新的外部引用(导致所有这些麻烦),而不必将基础项目Target更改为。net 4.5。这可能吗?

基本上,我想使用这个为4.5构建的参考,而不必改变整个应用程序的目标框架。

混合,从.net Framework 4.0调用.net 4.5

我认为构建警告很好地描述了将要发生的事情。

我用两个项目创建了一个解决方案:

  • ProjectA (Framework version 4.0)
  • ProjectB (Framework version 4.5)

ProjectA引用ProjectB.

警告:

The referenced project 'ProjectB' is targeting a higher framework version (4.5) than this project’s current target framework version (4.0). This may lead to build failures if types from assemblies outside this project’s target framework are used by any project in the dependency chain.   

The primary reference "c:'Scratch'ProjectA'ProjectB'bin'Debug'ProjectB.dll" could not be resolved because it was built against the ".NETFramework,Version=v4.5" framework. This is a higher version than the currently targeted framework ".NETFramework,Version=v4.0". ProjectA    C:'Program Files (x86)'MSBuild'14.0'bin'Microsoft.Common.CurrentVersion.targets 1819

你最好的办法是更新所有涉及的项目。