[英]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.