簡體   English   中英

其他解決方案的nuget參考

[英]nuget reference from other solution

我有2個解決方案:

  • 解決方案1
    • Project1.1:引用nuget包NU1
  • 解決方案2
    • Project2.1:引用解決方案1 ​​/ Project1.1

當我構建Solution2時,它會失敗,因為nuget將NU1包拉到Solution2的包中,而當Project1.1作為依賴項構建時,缺少NU1包。

先前的問題和答案已經使我相信可以比.dll更好地引用項目-但是,恐怕我還不了解在使用nuget時如何遵循該准則。

預先感謝您的評論!

當它們在同一解決方案中時,您應該引用項目。 在其他所有情況下,您都應引用nuget。

這可能需要私有的nuget feed。

為什么這樣呢?

  1. 解決方案沒有任何共同點-下一個開發人員將不理解此隱藏的參考
  2. 如果您僅一起使用它們,也許它們應該在解決方案中

最終,我設法做到了:

  • 創建了與解決方案目錄平行的目錄
  • 每個解決方案都有一個nuget.config文件,其中

=>所有解決方案都使用相同的軟件包:)

問題在於, Solution1通過查看Solution1\\package文件夾來解析其引用,而在構建Solution2時不會發生這種情況

打開您的csproj文件以查找

<ItemGroup>
    <Reference>      
       <HintPath>..\..\packages\SomeReference\lib\net45\Reference.dll</HintPath>    

將相對位置..\\..\\替換$(SolutionDir)作為

<HintPath>$(SolutionDir)\packages\SomeReference\lib\net45\Reference.dll</HintPath>   

由於$(SolutionDir)將成為解決方案文件夾的路徑,因此它將解決所有將來的參考問題。

暫無
暫無

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

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