Yua*_*Guo 5 c# continuous-integration dependencies nuget
假设有一个解决方案,包含项目A、B。
A 以传统方式引用 B。(添加引用 -> 项目 -> B)
B 仅依赖于 .NET 框架库。
这是我所做的:
nuget pack A.csproj
Run Code Online (Sandbox Code Playgroud)
它将生成 A.nupkg,无需
<dependencies>
<dependency id="B" version="3.0" />
</dependencies>
Run Code Online (Sandbox Code Playgroud)
我想要的是 A.nupkg在其元数据中包含对 B 的依赖。
我知道你可以在A.csproj同一个文件夹下放置一个A.nuspec,并在A.nuspec中设置对B的依赖。但生成和维护需要人工成本。由于 A.csproj 知道 B,有什么方法可以在不手动操作的情况下完成此操作?
或者
对此有什么建议吗?
通过在 MSBuild 构建脚本中添加两个目标来实现这一点:
<GenSpecCommand>$(NuGetCommand) spec -Force</GenSpecCommand>
<BuildCommand>$(NuGetCommand) pack "$(ProjectPath)" -p Configuration=$(Configuration) -o "$(PackageOutputDir)" -IncludeReferencedProjects</BuildCommand>
Run Code Online (Sandbox Code Playgroud)
希望它对其他人有用。