1 回答

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