Не удается установить правильный .Net Framework для базового пакета WPF — NUGET

#wpf #nuget-package #.net-framework-version

#wpf #nuget-package #.net-framework-version

Вопрос:

Я создал свой первый проект WPF, и он написан на .NET framework 4.7.2

Я понятия не имею о важности и функциональности этого, однако я хочу иметь возможность установить его на нескольких предприятиях с минимальными шансами на то, что им потребуется установить новую платформу. Возможно, это не важно, и я должен просто включить его в программу установки, но в этом я не уверен.

Я попытался вернуться к версии 4.5 .NET, однако теперь один из моих пакетов не будет установлен на эту платформу.

Install-Package: не удалось установить пакет ‘FluentEmail.Mailgun 2.8.0’. Вы пытаетесь установить этот пакет в проект, который нацелен на «.NetFramework, Version = v4.6», но пакет не содержит ссылок на сборки или файлов содержимого, совместимых с этой платформой. За дополнительной информацией обратитесь к автору пакета.

Если я использую какую-либо платформу ниже 4.7.2, я не вижу, как запустить это, однако я не могу найти документацию, относящуюся к тому, что для этого требуется определенная платформа для запуска.

Любые указатели в правильном направлении были бы полезны, например. Важна ли платформа для базового приложения WPF, не использующего какие-либо сумасшедшие технологии, всего несколько API и, в основном, хранилище данных? Могу ли я принудительно установить этот пакет на более раннюю платформу или это приведет к сбою?

Ответ №1:

Пакет FluentEmail.Mailgun предназначен для .NET Standard 2.0, который вы можете увидеть, развернув раздел зависимостей по адресу NuGet.org .

.NET Standard 2.0 реализован .NET Framework 4.6.1 и более поздними версиями, которые вы читаете из матрицы совместимости в документах.

По сути, это означает, что вам нужно настроить таргетинг как минимум на 4.6.1, чтобы иметь возможность использовать пакет в вашем приложении.

Однако есть одно предостережение:

Хотя NuGet рассматривает .NET Framework 4.6.1 как поддерживающий .NET Standard с 1.5 по 2.0, существует несколько проблем с использованием стандартных библиотек .NET, которые были созданы для этих версий из проектов .NET Framework 4.6.1. Для проектов .NET Framework, которым необходимо использовать такие библиотеки, мы рекомендуем обновить проект до целевого .NET Framework 4.7.2 или выше.

Поэтому, если вы разрабатываете новое приложение, рекомендуется использовать либо .NET Framework 4.7.2 или более позднюю версию, либо, что еще лучше, .NET Core 3.1 или .NET 5.

Если вы хотите получить полную информацию о том, какие версии официально поддерживаются в каких операционных системах, вам следует обратиться к FAQ по жизненному циклу в документации.

Таргетинг на 4.5 не имеет особого смысла, поскольку его поддержка закончилась еще в январе 2016 года.

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

1. Спасибо @mm8, который отвечает на все мои вопросы 🙂 Я хотел настроить таргетинг на более старую платформу, поскольку не хотел, чтобы людям приходилось устанавливать новую, поскольку это смутит моих мелких пользователей, но да, я верю, что сделаю это, чтобы они использовали поддерживаемую платформу. Что касается стандарта .NET, я это видел, но совершенно неправильно понял как N00b. Я думал, что это означает, начиная с .NET 2.0.

2. @GlennAngel отдельная тема, но вы можете включить довольно легкий . NET installer в вашем установщике и запустите его почти бесшумно. Это может быть проще для ваших пользователей.

3. @UuDdLrLrSs большое спасибо, подойдет. Когда вы говорите «легкий».. какой из них? например. просто обычная сеть для установки в автоматическом режиме?