UWP应用升级Fall Creators Update(16299)的移动端兼容与.NET版本疑问
关于Xamarin.Forms UWP应用版本与.NET Standard兼容的问题
嘿,我来帮你理清这个问题的核心逻辑,其实你完全不需要降级到.NET Standard 1.4就能继续支持旧版UWP,关键是要理清版本配置和依赖之间的关系:
1. .NET Standard 2.0和UWP最低版本的兼容性
首先明确:.NET Standard 2.0本身是支持UWP最低版本10240的,限制你的不是.NET Standard版本,而是Xamarin.Forms的版本要求,以及UWP 16299本身的平台支持限制。
你可以继续保留.NET Standard 2.0的类库,只需要调整UWP项目的版本设置:如果想继续支持移动UWP设备,你的UWP项目最低版本不能设为16299,最高可以把目标版本设到15063(Creators Update)——因为从Fall Creators Update(16299)开始,微软已经彻底放弃了UWP移动设备的支持,这是平台层面的限制,和.NET Standard无关。
2. Xamarin.Forms版本的匹配要点
你已经升级到了.NET Standard 2.0,接下来要确认你用的Xamarin.Forms版本对UWP的最低版本要求:
- 有些较新的Xamarin.Forms版本(支持.NET Standard 2.0)可能要求UWP最低版本是14393或15063,而不是10240。你可以去NuGet包的详情页查看它的UWP依赖版本。
- 如果当前Xamarin.Forms版本要求的UWP最低版本高于你想支持的10240,你可以降级到一个既支持.NET Standard 2.0、又允许UWP最低版本10240的Xamarin.Forms版本,没必要动.NET Standard的版本。
3. 要不要升级到16299?
如果你的核心需求是用上Fall Creators Update的新API,那你得接受一个事实:16299及以上版本的UWP不再支持任何移动设备。这种情况下,你有两个选择:
- 把UWP项目的最低和目标版本都设为16299,专注做桌面端UWP应用,移动用户可以通过你的Xamarin.Android/iOS项目来覆盖。
- 放弃升级到16299,继续用15063作为目标版本,这样既能保留移动UWP支持,又能维持.NET Standard 2.0的优势。
总结
简单来说:你不用降级.NET Standard 1.4,只要调整UWP项目的版本配置,搭配合适的Xamarin.Forms版本,就能同时保留.NET Standard 2.0和旧版UWP(包括移动)的支持。如果一定要升级到16299,就只能放弃UWP移动设备的支持了。
内容的提问来源于stack exchange,提问作者Emil




