Ich verwende .NET Core mit C # und als ich dies tat dotnet restore
, gab es den folgenden Fehler:
PS C: \ workspace \ Arbitrator> Dotnet-Wiederherstellung
C: \ workspace \ Arbitrator \ Arbitrator.csproj: Warnung NU1701: Das Paket 'PusherClient 0.5.0' wurde mithilfe von '.NETFramework, Version = v4.6.1' anstelle des Projektzielframeworks '.NETCoreApp, Version = v2.0' wiederhergestellt. Dies kann zu Kompatibilitätsproblemen führen. C: \ workspace \ Arbitrator \ Arbitrator.csproj: Warnung NU1701: Das Paket 'WebSocket4Net 0.14.1' wurde mit '.NETFramework, Version = v4.6.1' anstelle des Projektzielframeworks '.NETCoreApp, Version = v2.0' wiederhergestellt. Dies kann zu Kompatibilitätsproblemen führen.
Dieses problematische Paket ist PusherClient . Ich habe gerade die NuGet-Dokumente befolgt, um sie zu importieren. Wie kann ich diese Warnung beheben?
PackageReference
in der.csproj
Datei zu unterdrücken . Ich habe zu diesem Thema ein offenes Thema gefunden: github.com/NuGet/Home/issues/5740 .Als Randnotiz tun Sie dies nicht:
<PropertyGroup> <NoWarn>NU1701</NoWarn> </PropertyGroup>
Dadurch werden alle anderen NoWarn-Einstellungen beschädigt, die an anderer Stelle abgerufen werden, z. B. aus einer Datei directory.build.prop. Tun Sie stattdessen Folgendes:
<PropertyGroup> <NoWarn>$(NoWarn);NU1701</NoWarn> </PropertyGroup>
Auf diese Weise bleiben alle globalen Einstellungen erhalten.
quelle
<PackageReference>
, nicht wahr?Für .NET Core 1.x:
Sie müssen den Jungs von PusherClient sagen, dass sie ihr Projekt .NET-Core fertig machen sollen.
quelle
Wie Yair betonte, gibt es auf GitHub ein offenes Problem zu diesem Thema: github.com/NuGet/Home/issues/5740 .
Wenn die mit einer Fallback-Framework-Version aufgelöste Abhängigkeit transitiv ist, funktioniert das Unterdrücken der Warnung für das Paket, auf das verwiesen wird, nicht.
Beispielsweise ist Microsoft.TeamFoundationServer.ExtendedClient von Microsoft.AspNet.WebApi.Core abhängig, das nicht mit .NET Core 3.0 kompatibel ist, was zu einer Warnung führt. Das Hinzufügen von NoWarn zu Microsoft.TeamFoundationServer.ExtendedClient funktioniert nicht.
Als Problemumgehung (Sie können meinen Beitrag hier sehen: Problemumgehung bei GitHub ) können Sie direkt auf die transitive Abhängigkeit verweisen und NoWarn für dieses Paket verwenden.
<ItemGroup> <PackageReference Include="Microsoft.AspNet.WebApi.Core" Version="5.2.3" NoWarn="NU1701" /> <PackageReference Include="Microsoft.TeamFoundationServer.ExtendedClient" Version="16.153.0"/> </ItemGroup>
quelle