![](/img/trans.png)
[英]Cannot automatically update a NuGet package to the latest version during build
[英]automatically generate nuget package with symbols on build
我有一個 C# 項目(.net 6.0),我想在我(重新)構建它時自動創建一個 nuget。
這里說:
要在運行
dotnet build
時自動運行dotnet pack
,請將以下行添加到<PropertyGroup>
內的項目文件中:<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
我試過了,它可以工作,但是沒有添加任何符號( .pdb
文件)。 我怎樣才能做到這一點?
命令dotnet pack --include-symbols
可以用於此,但我如何告訴.csproj
文件使用該命令而不是dotnet pack
?
dotnet pack --include-symbols
將生成兩個 nuget 包,一個以.nupkg
結尾,一個以.symbols.nupkg
。 前者不包含.pdb
,后者包含。 我只想要一個包含.dll
和.pdb
的文件(沒有.symbols
前綴的.nupkg
文件)。
我嘗試了以下方法:
GeneratePackageOnBuild
屬性<Target Name="BuildNuget" AfterTargets="AfterBuild"><Exec Command="dotnet pack --include-symbols"/></Target>
但是現在當我運行dotnet build
時,我遇到了一個無限循環:(不幸的是它是德語,但你可以看到它只是重復。)
Wiederherzustellende Projekte werden ermittelt... Alle Projekte sind für die Wiederherstellung auf dem neuesten Stand. MyProject-> C:\Users\...\MyProject\bin\Debug\net6.0-windows\MyProject.dll Microsoft (R)-Build-Engine, Version 17.0.0+c9eb9dd64 für .NET Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten. Wiederherzustellende Projekte werden ermittelt... Alle Projekte sind für die Wiederherstellung auf dem neuesten Stand. MyProject-> C:\Users\...\MyProject\bin\Debug\net6.0-windows\MyProject.dll Microsoft (R)-Build-Engine, Version 17.0.0+c9eb9dd64 für .NET Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten. Wiederherzustellende Projekte werden ermittelt... Alle Projekte sind für die Wiederherstellung auf dem neuesten Stand. MyProject-> C:\Users\...\MyProject\bin\Debug\net6.0-windows\MyProject.dll Microsoft (R)-Build-Engine, Version 17.0.0+c9eb9dd64 für .NET Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten. Wiederherzustellende Projekte werden ermittelt...
這里說:
dotnet pack 命令構建項目並創建 NuGet 包。
因此,如果我在構建后將dotnet pack
作為命令,我將進入一個無限的構建堆棧。 在同一頁面上列出了nuget pack
的選項。 其中之一是--no-build
。
將目標更改為
<Target Name="BuildNuget" AfterTargets="AfterBuild">
<Exec Command="dotnet pack --no-build --include-symbols"/>
</Target>
解決了這個問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.