有没有办法用NugGet和本机库支持快照?

时间:2016-11-15 14:49:51

标签: visual-studio nuget static-libraries native dependency-management

我们使用Visual Studio编写和维护本机Windows应用程序。我们正在研究使用NuGet来处理依赖项,它们包含本机静态库。

经过一番研究,我设法使用NuGet,package.config和CoApp PowerShell脚本来创建和使用包含本机库的NuGet包。我们现在面临的问题是我们需要获得Snapshot支持。

NuGet 3及以后支持的翻转PreRelease机制(带*用于版本翻转)看起来很棒,但是,它似乎只适用于project.json而不适用于package.config。但是,Project.json似乎无法使用本机软件包,因为它们不会安装在本地解决方案文件夹中,因此构建无法找到标头和库。

问题归结为:

  • 有没有办法将project.json和NuGet 3与本机静态库一起使用?
  • 如果没有,那么,有哪些替代方案可以支持这个用例? (用例是本机非托管Windows静态库的构建时依赖性分发)。

编辑:

最后,我们决定使用Maven进行依赖管理,因为NuGet似乎不支持我们的用例。我在两周前提出了一个问题,但它没有收到任何答复。但是,如果我们决定强迫NuGet进入我的用例,Wendy提出的解决方案可能就是这样,所以我接受它。

1 个答案:

答案 0 :(得分:1)

有两种方法可以将内容文件添加到使用project.json文件的项目中。一个是" contentFiles"节点和另一个是"文件" nuspec文件中的节点。详细步骤请参考:

http://blog.nuget.org/20160126/nuget-contentFiles-demystified.html

但请注意,这些方法仅支持UWP和Portable类库。

  

此功能仅适用于将安装到使用project.json文件管理的项目的软件包。 目前只有两个项目类型由project.json管理。

     

1.UWP apps

     

2.Portable类库

     

contentFiles选项不适用于其他项目类型

如果您使用的是.NET Core应用程序或其他使用project.json的类型项目,则目前不支持将nuget包中的内容文件添加到项目中。