У меня есть DLL, обращающаяся к библиотеке. NET 4.7.1.
Вероятно, не имеет значения, но он написан на C# и использует пакеты NuGet с использованием шаблона "packages.config", а не более новой конфигурации PackageReference.
Я публикую sh это как Пакет NuGet (занимаюсь этим уже несколько лет). Но теперь, когда я выполняю следующее:
nuget pack -Properties Configuration=Release
, я получаю следующее предупреждение:
Ошибка NU5128: некоторые целевые платформы объявлены в группе зависимостей nuspe c и Папка lib / ref не имеет точных совпадений в другом месте. Ознакомьтесь со списком действий ниже: - Добавьте группу зависимостей для .NETFramework4.7.1 в nuspe c
У меня ничего нет в группе зависимостей nuspe c:
<?xml version="1.0"?>
<package >
<metadata>
<id>*******</id>
<version>*******</version>
<title>*******</title>
<authors>*******</authors>
<owners>*******</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>*******</description>
<releaseNotes>*******</releaseNotes>
<copyright>*******</copyright>
<tags>*******</tags>
</metadata>
</package>
Используются следующие пакеты NuGet:
- Microsoft.As pNet .WebApi.Client v5.2.7
- Microsoft.As pNet. WebApi.Core v5.2.7
- Microsoft.CodeAnalysis.FxCopAnalyzers v2.9.8
- Microsoft.CodeAnalysis.VersionCheckAnalyzer v2.9.8
- Microsoft.CodeQuality.Analyzers v2.9.8
- Microsoft.NetCore.Analyzers v2.9.8
- Microsoft.NetFramework.Analyzers v2.9.8
- Newtonsoft. Json v12.0.3
- StyleCop.Analyzers v1 .1.118
Когда я просматриваю ссылки, я вижу следующее (используется ~ для сокращения пути):
- Microsoft.CSharp ~ .NETFramework \ v4.7.1 \ Microsoft.CSharp.dll
- Newtonsoft. Json ~ \ packages \ Newtonsoft. Json .12.0.3 \ lib \ net45 \ Newtonsoft. Json .dll
- System ~ \ NETFramework \ v4.7.1 \ System.dll
- System.Configuration ~ .NETFramework \ v4.7.1 \ System.Configuration.dll
- System.Core ~ .NETFramework \ v4.7.1 \ System.Core.dll
- System.Data ~ .NETFramework \ v4.7.1 \ System.Data.dll
- System.Data.DataSetExtensions ~ .NETFramework \ v4.7.1 \ System.Data.DataSetExtensions.dll
- System. Net .Http ~ .NETFramework \ v4.7.1 \ System. Net .Http.dll
- System. Net .Http .Formatting ~ \ packages \ Microsoft.As pNet .WebApi.Client.5.2.7 \ lib \ net45 \ System. Net .Http.Formatting.dll
- System.Web.Http ~ \ packages \ Microsoft.As pNet .WebApi.Core.5.2.7 \ lib \ net45 \ System.Web.Http.dll
- System. Xml ~ .NETFramework \ v4.7.1 \ System. Xml .dll
- System. Xml .Linq ~ .NETFramework \ v4.7.1 \ System. Xml .Linq.dll
Так что, на мой взгляд, все выглядит так это. NET 4.7.1 совместимо, так почему это предупреждение?
В соответствии с подробностями, приведенными в Предупреждение NuGet NU5128 , я там Перед добавлением группы зависимостей:
<?xml version="1.0"?>
<package >
<metadata>
<id>*******</id>
<version>*******</version>
<title>*******</title>
<authors>*******</authors>
<owners>*******</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>*******</description>
<releaseNotes>*******</releaseNotes>
<copyright>*******</copyright>
<tags>*******</tags>
<dependencies>
<group targetFramework=".NETFramework4.7.1" />
</dependencies>
</metadata>
</package>
Но это не имеет никакого эффекта, я все еще получаю ошибку.