我们有一个用 C# 5.0 为 .NET 4.5 编写的 Windows 服务。我的代码使用了一些较新的语言特性(async
和await
)和框架特性(Task.Run
、、、、Task.Delay
等IProgress
)CancellationToken
。
安装 .NET 4.5后,我们的产品在 Windows 7和8上运行良好。我们的问题是,我们现在需要它在XP机器上运行。即使 .NET 4.5可以安装在 Windows XP上,这台机器上也没有足够的空间来安装它。
有什么方法可以让 .NET 4.5 应用程序在这台机器上运行?我已经研究过使用Mono AOT Compiler或NGen.exe将程序编译为本机代码,但我没有运气 - 我认为它们中的任何一个都没有真正实现我想要做的事情。
如果做不到这一点 - 我们曾考虑创建一个可启动的预安装闪存驱动器,它运行安装了我们的应用程序的简单版本的 Windows(如 WinPE?),但这超出了我的深度,我真的不知道从哪里开始。这是一个好主意吗?我怎么能接近这个?
我们的另一个选择是尝试安装 .NET 4.0 并使用Async Targeting Pack。
或者有人有其他想法吗?有什么方法可以在运行 .NET 2.0 的 XP 机器上构建/编译/运行我的 .NET 4.5 应用程序(利用 .NET 4.5 功能)?