簡體   English   中英

如何添加 NuGet 僅源 Package 依賴項

[英]How To Add NuGet Source Only Package Dependencies

我創建了一個框架,用於與 Microsoft 的 CRM/XRM/CDS/PowerPlatform/DataVerse 插件一起使用。 這些插件不能包含對外部非 .Net Framwork 非 MicrosoftSDK dll 的任何依賴。 我沒有使用 ILMerging 依賴項,而是使用了 NuGet 的 Source Only Packages,它允許通過 NuGet 共享源文件本身,從而無需引用和 ILMerging 其他 dll。

我正在嘗試使這些 NuGet 軟件包與 dotnetcore 兼容。 有兩個 nuget 包 DLaB.Xrm.Source 和 DLaB.Common.Source。 DLaB.Xrm.Source 依賴於 DLaB.Common.Source。 我能夠成功地更新 Nuget Package 用於 dotnetcore 的 Common package,一切看起來都很棒。 I then updated the Xrm package for dotnetcore, but when I tested installing just the DLaB.Xrm.Source Package, it doesn't appear to have added the DLaB.Common.Source Package, since now I'm getting build errors for those missing文件,即使它被列為依賴項:

在此處輸入圖像描述

我錯過了什么嗎? 有沒有一種方法可以讓這個工作,或者我應該直接將 DLaB.Common.Source 文件包含在 DLaB.Xrm.Source 文件中?

這就是我在 NuSpec 文件中列出依賴項的方式:

<dependencies>
  <group targetFramework="net">
    <dependency id="DLaB.Common.Source" version="1.2.0.10" />
  </group>
  <group targetFramework="netcoreapp">
    <dependency id="DLaB.Common.Source" version="1.2.0.10" />
  </group>
</dependencies>

看起來這是為 NuGet 設計的。 根據這個:

https://docs.microsoft.com/en-us/nuget/reference/nuspec#dependencies-element

內容文件被排除在外,因此我很可能必須在父項中包含依賴項的源文件。

排除:

包含/排除標簽的逗號分隔列表(見下文),指示要在最終 package 中排除的依賴項。 默認值為 build,analyzers 可以被覆蓋。 但是 content/ ContentFiles 也被隱式地排除在不能被覆蓋的最終 package 中 用 exclude 指定的標簽優先於用 include 指定的標簽。 例如,include="runtime, compile" exclude="compile" 與 include="runtime" 相同。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM