[英]Embed vs reference my dependencies: Best practices for .NET/NuGet package?
我正在为我公司内的客户提供一个C#/ .NET类库作为NuGet包。 我的库依赖于其他一些第三方库(例如Newtonsoft的优秀Json.NET )。
我假设NuGet的标准方式是我的包只包含对我依赖的其他NuGet包的引用 。 客户端的Developer Studio将在他们的项目中安装我的NuGet包时自动下载它们。
问题#1:
我可以确定Developer Studio会下载我正在构建的那些NuGet包的版本而不是“最新”版本吗?
问题2:
如果他们的项目也使用我正在使用的第三方库(如Json.NET),它会导致问题吗,特别是如果他们使用的是不同的版本? 这“只是工作”,还是我需要对此做些什么?
如果在某处拼写出来,请道歉,但我无法找到这些问题的具体答案。
这在Nuspec Reference中有明确规定
特别:
指定依赖关系
从版本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>
版本是:
作为依赖项可接受的版本范围。 通常,这只是表示最低版本的版本号。 但是,支持更明确的版本范围语法 。
( 更新 :更新的nuget版本的更新参考)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.