混合&从.Net Framework 4.0调用.Net 4.5

时间:2015-10-14 14:58:14

标签: c# .net .net-4.0 .net-4.5

我有一个编写并以.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. 基本上我想使用为4.5构建的引用,而不必更改整个应用程序目标框架。

1 个答案:

答案 0 :(得分:0)

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

我创建了一个包含两个项目的解决方案:

  • ProjectA(Framework 4.0版)
  • ProjectB(Framework 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

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