根據文檔https://docs.microsoft.com/en-us/nuget/schema/msbuild-targets,它看起來像msbuild現在支持NuGet的兩個特定目標:Pack
和Restore
。 我已經能夠正確使用Restore
,但不能使用Pack
。msbuild/t:Pack是否支持完整的.Net框架?
錯誤MSB4057:目標「包」在項目中不存在。
它是否支持傳統的.Net項目,還是僅僅是.Net核心的東西?
我一直沒能找到任何明確說明的文檔。
關於需要的依賴,我使用
PM> nuget help
NuGet Version: 4.1.0.2450
usage: NuGet <command> [args] [options]
Type 'NuGet help <command>' for help on a specific command.
而且
C:\Git>msbuild /version
Microsoft (R) Build Engine version 15.1.1012.6693
Copyright (C) Microsoft Corporation. All rights reserved.
15.1.1012.6693
隨着
Microsoft Visual Studio Professional 2017
Version 15.2 (26430.12) Release
VisualStudio.15.Release/15.2.0+26430.12
Microsoft .NET Framework
Version 4.6.01586
所以這裏的關鍵是要切換到新的csproj格式?所以,直到VS支持** AS DEFAULT **爲止,沒有必要通過黑客來切換,對吧? – GGirard
是的新格式爲NuGet屬性帶來了集成和屬性編輯器。還有'NuGet.Build.Tasks.Pack' NuGet包,但如果不向「sdk-style」項目默認的csproj添加更多屬性,這可能無法「足夠好」。 但是,如果你只創建了「邏輯」nuget包,這已經被支持了,它只是沒有模板。並且它已經創建了多少個庫(例如Newtonsoft.Json) –
我在Azure相關的NuGet中看到了它幾次,並且想知道它是如何工作的。現在看起來很清楚:我會堅持使用舊的nuspecs,因爲我的解決方案包含類庫項目,但也包含Asp.Net MVC和WebAPI。我不想有多種方式來管理相同解決方案中的NuGet定義。 – GGirard