从 .Net Framework 4.0 混合和调用 .Net 4.5
Mixing & Calling .Net 4.5 from .Net Framework 4.0
我有一个针对 .NET Framework 4.0 编写的应用程序。
在其中一个基础项目中,我必须添加一个在 .NET 4.5 中完成的引用。所以,为了构建这个项目,我不得不将它的目标框架切换到 4.5。
现在,VS 抱怨应用程序中引用此基础项目的每个项目的问题。
有没有一种方法可以让这个基础项目的目标框架 4.5 而不必更改所有引用它的项目。
我可以混合使用这两个框架并从 .NET 4 项目调用到 .NET 4.5 项目吗?
最好的解决方案是,如果我可以在基础项目中使用 .NET 4.5 中内置的新外部引用(这会导致所有这些麻烦),而不必将基础项目 Target 更改为 .净 4.5。这可能吗?
基本上我想使用这个为 4.5 构建的参考,而不必更改整个应用程序目标框架。
我认为构建警告很好地描述了将要发生的事情。
我创建了一个包含两个项目的解决方案:
- ProjectA(框架版本 4.0)
- ProjectB(框架版本 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.0\bin\Microsoft.Common.CurrentVersion.targets 1819
最好的办法是更新所有涉及的项目。
我有一个针对 .NET Framework 4.0 编写的应用程序。 在其中一个基础项目中,我必须添加一个在 .NET 4.5 中完成的引用。所以,为了构建这个项目,我不得不将它的目标框架切换到 4.5。
现在,VS 抱怨应用程序中引用此基础项目的每个项目的问题。
有没有一种方法可以让这个基础项目的目标框架 4.5 而不必更改所有引用它的项目。
我可以混合使用这两个框架并从 .NET 4 项目调用到 .NET 4.5 项目吗?
最好的解决方案是,如果我可以在基础项目中使用 .NET 4.5 中内置的新外部引用(这会导致所有这些麻烦),而不必将基础项目 Target 更改为 .净 4.5。这可能吗?
基本上我想使用这个为 4.5 构建的参考,而不必更改整个应用程序目标框架。
我认为构建警告很好地描述了将要发生的事情。
我创建了一个包含两个项目的解决方案:
- ProjectA(框架版本 4.0)
- ProjectB(框架版本 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.0\bin\Microsoft.Common.CurrentVersion.targets 1819
最好的办法是更新所有涉及的项目。