嵌套Nuget包

时间:2017-04-27 11:32:32

标签: tfs version-control nuget

我的问题有点复杂,我希望我能解释清楚。

有两个interop dll是产品的dll,一个是V10,另一个是V16。我们称之为" MyComDll"

我有一个名为MyWrapper的项目,它使用MyComDll。在TFS中,我想为V10和V16创建nugetpage。这没关系,我可以这样做,但问题是我想创建两个nuget包。一个nuget包使用MyComDll V10,另一个使用MyComDll16。

之后,我有另一个名为MyLibrary的项目,它使用MyWrapper。在TFS中,我也应该能够选择它是V10还是V16。根据这些信息,MyWrapper nuget包必须是V10或V16。

然后,同样的逻辑我有一个名为MyApp的应用程序使用MyLibrary。根据构建配置(V10和V16),它必须使用MyLibrary V10或V16。

我绘制了这个场景

enter image description here

那么我怎么能做到这一点?

2 个答案:

答案 0 :(得分:0)

将每个东西都变成NuGet包。您可以在nuspec文件中指定其他NuGet包的依赖项。

答案 1 :(得分:0)

TFS版本没有这样的功能'我选择了V16配置,因此它应该创建Nuget Package V16'。

在TFS构建中,要恢复的软件包在项目的package.config文件中定义。如果要构建项目的不同版本,可以使用replace token之类的步骤在构建之前更改package.config文件中定义的程序集。或者,您可以为每个版本创建2个构建定义。