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 关注
- 132 浏览
添加回答
举报