Не удалось установить пакет '-'. Вы пытаетесь установить этот пакет в проект, целью которого является ".NETFramework, Version = v4.5",
Я создал этот пакет, мне он нужен в проекте, но не смог его установить, появляется эта ошибка:
Не удалось установить пакет "Mshwf.NiceLinq 1.0.9". Вы пытаетесь установить этот пакет в проект, который предназначен для ".NETFramework, Version = v4.5", но пакет не содержит ссылок на сборки или файлов содержимого, которые совместимы с этой инфраструктурой. Для получения дополнительной информации свяжитесь с автором пакета
Я не знаю, почему это произошло, в другом проекте (Консоль) я изменил структуру до 4.6 и других версий, и это не было проблемой, но это происходит только в этом проекте (MVC и Web API):
это файл nuspec:
<?xml version="1.0"?>
<package >
<metadata>
<id>Mshwf.NiceLinq</id>
<version>1.0.9</version>
<title>Nice LINQ</title>
<authors>MShawaf</authors>
<owners>Mshawaf</owners>
<projectUrl>https://github.com/mshwf/NiceLinq</projectUrl>
<iconUrl>https://raw.githubusercontent.com/mshwf/NiceLinq/master/logo.png</iconUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>See it as: WHERE ID IN (1, 2, 3, 7, 9, 22, 30, 101)</description>
<releaseNotes>Minor changes.</releaseNotes>
<copyright>Copyright 2016</copyright>
<tags>LINQ IEnumerable Where Contains Search Filter</tags>
</metadata>
</package>
Ответы
Ответ 1
Ваш пакет нацелен на NETFramework, Version = v4.5.2. Это означает, что папка сборки - lib\net452. Вы пытаетесь установить пакет в более высокий проект (более 4,5). Создайте проект с фреймворком 4.5.2 или переименуйте папку пакета lib из net452 в версию, на которую вы хотите настроить таргетинг, например net45 или net46.
Вы также можете настроить таргетинг на несколько фреймов из одного пакета.
См. Здесь: https://docs.microsoft.com/en-us/nuget/create-packages/supporting-multiple-target-frameworks
Ответ 2
Перейти в папку:
C:\Users\[username]\.nuget\packages\[package name]\1.0.0.4\lib
Переименуйте папку с .net-версией вашего проекта.
Предположим, я использую .net Framework 4.6.1 имя моей папки должно быть net461
Ответ 3
Вы можете установить более раннюю версию, например: Install-Package AutoMapper -Version 7.0.1
Ответ 4
В моем случае я пытался вставить пакет наших собственных решений, которые мы вложили в наш собственный канал Nuget, поэтому у меня был доступ к проекту. Это то, что я сделал, чтобы устранить проблему. В окне решения проекта нажмите на package.config. В окне свойств измените действие сборки на "Содержимое". После того, как мы снова отправили его в наш канал, я смог установить его в основной проект.
Ответ 5
В моем случае я пытался установить пакет в приложение WPF (.Net Framework), пока мои сотрудники готовили пакет для .Net Core Project.
Попробуйте создать .Net Core Project (или тип целевого типа проекта) и установить пакеты таким же образом:
Обозреватель решений> Щелкните правой кнопкой мыши Решение> Управление пакетами Nuget для решения> Найдите нужный пакет> Установите
Проверка этого перед другими решениями может сэкономить время.
Ответ 6
У меня была похожая проблема, которую я исправил, удалив файл packages.config (вы можете редактировать файл, если вы не хотите его удалять), а затем убедился, что оба пакета, которые я использовал, были собраны с использованием той же версии .net, что и Project. я использовал его в (для меня пакет был собран с использованием 4.6, в то время как мой консольный проект был ориентирован на более раннюю версию .net).
Ответ 7
Вам нужно просто попробовать другую версию, чтобы manage NuGet packages for solution...
в меню visual studio. Вы наверняка найдете правильную версию пакета для своих плагинов.