Dot-Net-Core

PrivateAssets=‘All’ 是什麼意思?

  • December 14, 2020

當我建構我的 .NET Core (NETStandard v2.0) 項目時,我收到以下警告:

ViewModels:[FodyPackageReference] Fody:PropertyChanged.Fody 的包引用不包含 PrivateAssets=‘All’

該警告引用了PropertyChanged.Fody NuGet 包。

雖然警告不會停止建構,但我想解決警告。但是,我不明白它試圖傳達什麼。

PrivateAssets是用於控制依賴資產的元數據標籤。

您可能將依賴項純粹用作開發工具,並且可能不想將其公開給將使用您的包的項目。在這種情況下,您可以使用 PrivateAssets 元數據來控制此行為。

項目文件中的包引用 (PackageReference)

在您的情況下,除非您想向PropertyChanged.Fody消費者公開(即您正在發布一個庫),否則在您的 .csproj 文件中設置PrivateAssetsAll將刪除警告。

<Project Sdk="Microsoft.NET.Sdk">
   <ItemGroup>
     <PackageReference Include="PropertyChanged.Fody" Version="3.3.1" PrivateAssets="All" />
   </ItemGroup>
</Project>

引用自:https://stackoverflow.com/questions/65297425