我为我公司内的客户提供了一个C#/ .NET类库作为NuGet包。我的图书馆依赖于其他一些第三方图书馆(例如Newtonsoft's excellent Json.NET)。
我假设NuGet的标准方式是我的包只包含引用到我依赖的其他NuGet包。客户端的Developer Studio会在他们的项目中安装我的NuGet包时自动下载它们。
问题#1:
我可以确定Developer Studio会下载版本的 那些我正在构建的NuGet包而不是最新的' 版本
问题#2:
如果他们的项目也使用第三方库,是否会导致问题 我正在使用(如Json.NET),特别是如果他们使用不同的版本?这是“只是工作”,还是我需要对此做些什么?
如果在某处拼写出来,请道歉,但我无法找到这些问题的具体答案。
答案 0 :(得分:4)
具体做法是:
指定依赖关系
从版本2.0开始,可以根据目标项目的框架配置文件指定包依赖关系。该元素包含一组元素。每个组包含零个或多个元素和目标框架属性。 如果目标框架与项目的框架配置文件兼容,则组内的所有依赖项将一起安装。
<dependencies> <group> <dependency id="RouteMagic" version="1.1.0" /> </group> <group targetFramework="net40"> <dependency id="jQuery" /> <dependency id="WebActivator" /> </group> <group targetFramework="sl30"> </group> </dependencies>
版本是:
作为依赖项可接受的版本范围。通常这是 只是一个代表最低版本的版本号。 然而a 支持更明确的version range syntax。
(更新:更新了对更新版nuget的更新参考资料)