NETSDK1135 Поддерживаемая версия платформы 10.0.19041.0 не может быть выше версии TargetPlatform 7.0

#c# #.net #wpf #.net-core #.net-framework-4.8

#c# #.net #wpf #.net-core #.net-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
 

введите описание изображения здесь

Есть идеи относительно того, что искать?
Рассматриваемый проект представляет собой комбинацию .NET 5 и .NET Standard 2.1

Ответ №1:

У меня была такая же ошибка несколько часов назад. Я нашел эту статью полезной: https://nicksnettravels.builttoroam.com/net-5-tfms / Насколько я понимаю, targetFramework в файле проекта должен содержать ту же версию Windows, что и контракт SDK. Теперь мой файл проекта выглядит так:

   <PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net5.0-windows10.0.19041.0</TargetFramework>
<UseWPF>true</UseWPF>
 

   <ItemGroup>
    <PackageReference Include="Microsoft.Windows.CsWinRT" Version="1.1.0" />
    <PackageReference Include="Microsoft.Windows.SDK.Contracts" Version="10.0.19041.1" />
  </ItemGroup>
 

Надеюсь, это полезно для вас.

Ответ №2:

Эта проблема появилась на моем конце при добавлении Microsoft.Windows.SDK.Contracts для чтения версии, применяемой при упаковке с использованием пакета MSIX.

Я попробовал использовать решение @RolandJS, но все равно куча ошибок.

Найдено: https://docs.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>
 

например,

 <TargetFramework>net5.0-windows10.0.19041.0</TargetFramework>
 

Удалите Microsoft.Windows.SDK.Contracts

Комментарии:

1. это было то, что мне было нужно! Спасибо

2. Хотел бы я проголосовать за это 15 раз. Это должно быть ответом!!