簡體   English   中英

如何使用msbuild 15從生成的nuget包中的nuspec文件中刪除依賴項部分

[英]How to remove the dependencies section from nuspec file in the generated nuget package using msbuild 15

我使用msbuild v15.8.168.64424(vs 2017.8)命令行為控制台應用程序構建nuget軟件包。 我使用ILMerge合並所有依賴項,因此我只得到一個沒有依賴項的exe文件。

運行命令時

        msbuild project1.csproj /t:build /p:configuration=release /p:IsTool=true

我得到了nuget包,但是在檢查它時,我發現了dependencies section

     <dependencies>
           <group targetFramework=".NETFramework4.5">
            <dependency id="lib1" version="1.3.0" exclude="Build,Analyzers" />
            <dependency id="lib2" version="2.3.0" exclude="Build,Analyzers" />              
          </group>
        </dependencies>

我希望`dependencies'部分為空(因為我合並了所有依賴項)。

我可以使用nuspec文件來生成無依賴項部分的程序包,但是缺點是手動傳遞了csproj中包含的所有元數據。 我沒有在包目標輸入中找到依賴項的屬性

問題:

如何從生成的nuget包中包含的nuspec文件中刪除依賴項部分?

您可以在csproj文件中的程序包或項目引用( <PackageReference> / <ProjectReference> )上設置元數據PrivateAssets="All" ,以將它們排除為NuGet依賴項。

請注意,此更改需要還原,因此請在兩者之間執行NuGet還原或將-restore添加到MSBuild調用中。

暫無
暫無

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

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