c# - 将项目转换为 nuget 包
问题描述
我有一个包含 30 个项目的解决方案,我想将它们发布为 30 个 NuGet 包。
将项目依赖项转换为包依赖项的最简单方法是什么?
解决方案
为所有人创建nuspec
文件csprojs
而不是修改项目以依赖 nugets 是完全可以的。Nuget 将检测nuspec
项目引用的文件,如果您有包依赖项,则不会为它们捆绑 dll nuspec
。
例如,我在我的项目中这样做了:
纽斯佩克
<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>QDARC.Queries.Linq</id>
<version>1.0.3-alpha</version>
<authors>Rafał Furman</authors>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>TSQL extension for AST model for SQL queries.</description>
<dependencies>
<dependency id="QDARC.Utilities" version="1.0.6" />
<dependency id="QDARC.Queries.Model" version="1.0.3-alpha" />
<dependency id="QDARC.Sql.Connector" version="1.0.3-alpha" />
</dependencies>
</metadata>
<files>
<file src="bin\Release\netstandard2.0\Qdarc.Queries.Linq.dll" target="lib\netstandard2.0" />
</files>
</package>
和 csproj 片段
<ItemGroup>
<ProjectReference Include="..\Qdarc.Sql.Connector\Qdarc.Sql.Connector.csproj" />
<ProjectReference Include="..\Qdarc.Queries.Formatter\Qdarc.Queries.Formatter.csproj" />
<ProjectReference Include="..\Qdarc.Queries.Model\Qdarc.Queries.Model.csproj" />
</ItemGroup>
你可以检查nuget 包,它只包含一个 dll。
推荐阅读
- php - 自定义 WordPress 帖子类型没有插件
- linux - Erlang NUMA 技术配置
- javascript - 如何处理“不推荐使用承诺拒绝”
- java - Java on double:如果要计算的数字或表达式很多,如何正确实现“d”或“D”?
- php - ErrorException:未定义的变量:天
- r - 在 Jupyter Notebook 上安装 R 语言
- javascript - 在 react-draft-wysiwyg 上使用 formik
- javascript - 为什么这个 SSE 处理程序会导致客户端连接卡在挂起状态?
- android - 无法在 Android Studio 中格式化部分 TextView 或 Button 文本
- python - 如何将 sqlalchemy 查询作为字典返回?