簡體   English   中英

自動將PackageReference中的引用添加到包中的NuGet包

[英]Automatically add references from PackageReference to NuGet package on pack

在我的項目中,我使用PackageReference引用了一些軟件包。

我的包裹參考

但是,如果我將此項目打包到一個NuGet包中,則在我將它們手動添加到.nuspec文件之前,它不會包括它們。

我不想添加到.nuspec的內容

我不想手動添加所有依賴項,尤其是每次在.nuspec更新它們。 是否可以自動執行此操作?

我使用Build上的nuget pack ProjectFile或手動將項目打包到NuGet包中,然后不指定ProjectFile。 當前的 NuSpec (帶有依賴項)

具有依賴關系的NuSpec

如果我在NuSpec中將其打包而沒有依賴項,則它將在包的.nuspec文件(在.nupkg )中生成一個空的自關閉依賴項標記: <dependencies />

來自packages.config AFAIK引用會自動添加,但是我不想使用此文件。 我改用PackageReferences

實際上,您不再需要.nuspec文件。 您可以在csproj文件中指定的所有信息,例如:

<PropertyGroup>
    <TargetFrameworks>netstandard2.0</TargetFrameworks>
    <PackageId>BinaryTree</PackageId>
    <Version>5.1.0.0</Version>
    <Authors>RMarusyk</Authors>
    <Description>Simple Binary Tree implementation</Description>
    <PackageProjectUrl>https://github.com/Marusyk/BinaryTree</PackageProjectUrl>
    <PackageTags>binarytree</PackageTags>
</PropertyGroup>

然后,我將此行添加到csproj中。

<GeneratePackageOnBuild>true</GeneratePackageOnBuild>

要構建它,我使用:

dotnet build -c Release src/Solution.sln
dotnet pack -c Release src/Solution.sln
dotnet nuget push ..

在我的情況下它可以工作,而無需定義任何依賴項

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM