![](/img/trans.png)
[英]Same Nuget package on two different projects in same solution
[英]How to fix Nuget restore for projects using different package sources within same VS solution
我正在使用 VS 2017,並且我有一個新的公共項目(CommonLib),需要被多個解決方案中的項目引用。 對於這個常見的項目,我想維護它自己的包文件夾。 並且在將此項目引用到現有解決方案(具有引用不同包文件夾的項目)之后,nuget 恢復不會查看這兩個 package 文件夾。
不確定在單個解決方案中 nuget 恢復是否可以搜索多個包文件夾以根據項目文件提示路徑解析引用庫。 此外,我看到從 packages.config 遷移到 PackageReference 會有所幫助,但我不想在現有項目中刪除 packages.config,也不想在新的 CommonLib 項目中保持一致。
以下是我的 src 設置路徑:
UX.Sln - paths: C:\Src\UX\UX.Sln; C:\Src\UX\packages;
UXSource.csproj - paths: C:\Src\UX\UXSource; This refers nuget libs from src C:\Src\UX\packages
CommonLib.csproj - paths: C:\Src\Common\CommonLib; I want to refer nuget libs from src C:\Src\Common\packages
Api.Sln - paths: C:\Src\Api\Api.Sln; C:\Src\Api\packages;
ApiSource.csproj - paths: C:\Src\Api\ApiSource; This refers nuget libs from src C:\Src\Api\packages
CommonLib.csproj - paths: C:\Src\Common\CommonLib; I want to refer nuget libs from src C:\Src\Common\packages
看起來另一個項目沒有配置 NuGet 源。 所以你可以使用
dotnet nuget add <source>
命令文檔。
或在NuGet.Config
文件中擴展它。 https://docs.microsoft.com/en-us/nuget/reference/nuget-config-file#package-source-sections
也請嘗試 nuget.config 中的nuget.config
文件夾位置
<configuration>
<config>
<add key="repositoryPath" value="$\..\pacakges" />
</config>
</configuration>
如果要通過多個 nuget 包源恢復 nuget 包源。 您只需要放置自定義nuget.config
文件。
如您所見,自定義nuget.config 文件將作用於當前文件夾下的當前項目和所有子目錄下的項目。
並且nuget.config
文件無法添加到項目文件夾中,它應該位於解決方案文件夾或以上文件夾下才能使其工作。
此外,您似乎已將一個名為CommonLib
的現有項目添加到UX
解決方案和Api
解決方案中。
所以你可以試試這個:
1)在C:\Src
下添加一個名為nuget.config
的文件,然后在該文件下添加這些節點:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="NuGet_Restore_Path1" value="C:\Src\UX\packages" />
<add key="NuGet_Restore_Path2" value="C:\Src\Common\packages" />
<add key="NuGet_Restore_Path3" value="C:\Src\Api\packages" />
</packageSources>
</configuration>
2)然后,這兩個解決方案可以使用這些包文件夾來恢復丟失的 nuget 包。
使用: nuget restore UX.sln
和nuget restore Api.Sln
。
另外,如果您不希望新的nuget.config
文件影響src
文件夾下的其他解決方案,您可以將文件添加到C:\Src\UX
和C:\Src\Api
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.