1 回答

TA貢獻1828條經驗 獲得超3個贊
如您所見,當您使用 nuspec 時,您有責任做好每一件小事。使用 NuGet 的 MSBuild 包目標更容易,因為它可以自動執行創建依賴項等操作,包括在組中使用正確的 TFM。
NuGet 關于打包目標的文檔包含與使用 msbuild 打包相關的內容(這就是您使用dotnet pack
或時發生的情況GeneratePackageOnBuild
)。特別是關于在包中包含內容的部分有以下示例:
<Content?Include="..\win7-x64\libuv.txt"> ?<Pack>false</Pack> ?</Content>
由于您的文件是嵌入的,您的 csproj 將包含類似<EmbeddedResource Include="whatever.ext" />
.?因此,使用文檔中的信息,您可以這樣做<EmbeddedResource Include="whatever.ext" Pack="false" />
,或者像文檔一樣使用多行版本。MSBuild 允許您以任何一種方式設置項目元數據。
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
關于GeneratePackageOnBuild的注意事項:讓build為你創建包很方便,但這意味著當你在調試并且需要在再次測試之前更改一行代碼時,你不僅要等待構建,還需要等待盒。如果你的包很小,它可能相當快,但它仍然會減慢你的“內循環”體驗。大多數開發人員只需要打包的頻率遠低于構建的頻率,因此我建議禁用GeneratePackageOnBuild
,并dotnet pack
在您實際需要 nupkg 時在項目(或解決方案)上運行。
- 1 回答
- 0 關注
- 173 瀏覽
添加回答
舉報