Создание пакета NuGet: исключение NU5128 - не ясно, как это исправить - PullRequest
1 голос
/ 16 февраля 2020

У меня есть 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>

Но это не имеет никакого эффекта, я все еще получаю ошибку.

1 Ответ

0 голосов
/ 17 февраля 2020

Согласно NU5128 do c, Это предупреждение было добавлено во время разработки NuGet 5.3 и впервые было доступно в. NET Core SDK 3.0 Preview 9. NuGet / Home # 8583 отслеживает проблему, когда предупреждение вызывалось в слишком многих сценариях ios. Вы можете использовать свойство NoWarn MSBuild ( add $ (NoWarn); NU5128 для любой PropertyGroup в файле проекта ). Если затронуто несколько проектов, вы можете использовать Directory.Build.targets для автоматического добавления NoWarn во все проекты

Добавить Nowarn в проект

...