Jul*_*ien 10 .net c# wpf .net-core .net-framework-4.8
我正在尝试将 .NET Framework WPF 应用程序转换为 .NET 5
我运行了https://github.com/dotnet/try-convert,并删除了一些不兼容的 DLL 引用。
现在,当我尝试编译时,我会看到
NETSDK1135 SupportedOSPlatformVersion 10.0.19041.0 cannot be higher than TargetPlatformVersion 7.0
Run Code Online (Sandbox Code Playgroud)
关于寻找什么的任何想法?有问题的项目是 .NET 5 和 .NET Standard 2.1 的组合
Rum*_*ble 15
当我添加Microsoft.Windows.SDK.Contracts以读取使用 MSIX 包打包期间应用的版本时,我出现了此问题。
我尝试使用@RolandJS 解决方案,但仍然有大量错误。
找到: https: //learn.microsoft.com/en-us/windows/apps/desktop/modernize/desktop-to-uwp-enhance
它提到,由于 .NET 5(或更高版本)和目标 Windows 10 版本 1809 或更高版本,不再需要Microsoft.Windows.SDK.Contracts。相反,您应该使用 TargetFrameworkMoniker (TFM)。
正如 RolandJS 已经提到的:在项目文件中更改
<TargetFramework>net5.0-windows</TargetFramework>
Run Code Online (Sandbox Code Playgroud)
例如
<TargetFramework>net5.0-windows10.0.19041.0</TargetFramework>
Run Code Online (Sandbox Code Playgroud)
卸载Microsoft.Windows.SDK.Contracts
小智 11
几个小时前我遇到了同样的错误。我发现这篇文章很有用:https : //nicksnettravels.builttoroam.com/net-5-tfms/ 据我了解,项目文件中的 TargetFrameWork 必须包含与 SDK Contract 相同的 Windows 版本。我的项目文件现在看起来像这样:
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net5.0-windows10.0.19041.0</TargetFramework>
<UseWPF>true</UseWPF>
Run Code Online (Sandbox Code Playgroud)
...
<ItemGroup>
<PackageReference Include="Microsoft.Windows.CsWinRT" Version="1.1.0" />
<PackageReference Include="Microsoft.Windows.SDK.Contracts" Version="10.0.19041.1" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
...
希望对你有用。
归档时间: |
|
查看次数: |
1958 次 |
最近记录: |