2015-02-06 120 views
1

我有一个使用.Net 4.5功能的模块,我们的应用程序也适用于XP用户。所以我正在考虑移动这个.net 4.5依赖模块来分离项目。我怎样才能有一个解决方案,有两个项目针对不同的版本?如何在.net解决方案中有一个针对4.0框架和另外一个4.5框架的项目?

+0

不,你不能。你也必须分开项目和DLL。 – LPs 2015-02-06 08:17:19

+0

您在尝试这样做时遇到了什么问题?由于框架版本设置在* project *设置中 – 2015-02-06 08:17:21

+1

首先,4.5是4.0的二进制替换。即使是目标4.0的项目实际上运行在4.5。其次,没有什么能够阻止你改变个别项目的目标框架。 – 2015-02-06 08:17:36

回答

5

解决方案中的每个项目都针对它的.NET特定版本,所以没有什么特别之处,您不能从.NET 4.0项目中引用该项目/模块以.NET 4.5为目标。

如果你需要针对某些模块使用.NET 4.5,那么你的主应用程序也必须以.NET 4.5为目标,所以如果没有办法解决这个功能,你需要抛弃XP支持,这对于XP而言并不是一件坏事。不再是受支持的操作系统。

IF从.NET 4.5这个功能是async/await -feature您可以使用Microsoft.Bcl.Async -package的继续指定.NET 4.0 ...

+0

请注意,4.0将使用4.5运行时。 – 2015-02-06 08:19:16

+0

然后更好的选择是使用Microsoft.Bcl.Async和HttpClient,而不是有一个无法在XP中工作的4.5项目 – 2015-02-06 08:20:41

+0

谢谢大家。问题确实是async/await的用法。关于这个Microsoft.Bcl.Async是这样的,它的API和.NET 4.5 TPL完全一样。 – Sherry 2015-02-06 08:45:41

相关问题