适用于Windows的桌面应用程序 - .NET Core或.NET Framework

时间:2017-09-29 13:12:36

标签: c# windows uwp windows-store-apps

我有兴趣为Windows桌面开发一个桌面应用程序,它必须在Windows商店中。

我认为有两条路径。使用.NET Core(UWP)进行开发,或使用.NET Framework进行开发。

目前我不关心非桌面设备。我只关心只有.NET Framework子集的痛苦,但我担心在不久的将来只会支持UWP。

我应该选择哪条路?为什么?

3 个答案:

答案 0 :(得分:2)

开发UWP应用程序需要使用C#。

你的问题有点像说,"我想把东西放在互联网上。我应该使用网站还是HTML?"

此链接可能有所帮助:https://docs.microsoft.com/en-us/windows/uwp/get-started/whats-a-uwp

答案 1 :(得分:1)

首先,你要混合两种不同的东西。 C#是一种语言(如C,C ++,JavaScript等),而UWP是一个平台(如WinForms,WPF,简称控制台)。 UWP只能在W10设备上运行,可以用C#,HTML + JS,Visual C ++,Visual Basic编写......

正如您所说,UWP只能使用完整.NET Framework中可用的一部分API。那是因为它基于.NET Core。今年晚些时候,UWP应该获得对.NET Standard 2.0的支持,.NET Standard 2.0带来了许多以前在.NET Core和.NET Standard中不可用的API,,这个升级将是仅适用于最低版本设置为W10 Fall Creators Update(即2017年9月或10月)的UWP应用程序,因此如果您想支持旧版本的W10,则无法在UWP中使用这些API。

如果您希望自己的应用转到Windows应用商店,最简单的方法就是构建UWP应用。您还可以使用Desktop Bridge打包经典(WPF,WinForms等)应用程序并将其上传到Windows应用商店。

您的选择应基于您的应用的要求。如果我不需要使用那里没有的API,我个人会使用UWP。

答案 2 :(得分:0)

在我看来,如果你不担心使用其他设备,那么我会选择标准的C#(仅仅是我的个人意见),但是如果你希望你的应用程序能够跨设备工作,我会选择UWP。例如,如果使用windows 10 for raspberry pi的版本然后去UWP,那么你可以简单地在PI和桌面应用程序之间集成,但对于桌面应用程序的条款,那么我会坚持使用C#并节省太多的需求额外的学习。此外,如果您打算将应用程序放在Windows商店中,那么UWP是必须的。