[英]Nuget prevent generating packages folder in solution
我有一個包含兩個Project的解決方案。
/Solution
.sln
.nuget.config
/ProjectA
.csproj
.nuspec
/ProejctB
.csproj
.nuspec
當我通過nuget添加依賴項ProjectA時。
項目結構變成這樣:
/Solution
.sln
nuget.config
/packages
.nupkg
/lib
.dll
/ProjectA
.csproj
.nuspec
packages.config
/ProejctB
.csproj
.nuspec
基本上,Visual Studio將創建一個packages.config文件,並將其放在那里。 並且,依賴項被添加到/packages
文件夾。 此外, .csproj
內容也會更改。(添加了一個參考,該參考在/packages
文件夾中具有dll的相對路徑。)
我有兩個問題。
1-在nuget.config文件中,我放置了以下行。 因此,我希望nuget將使用默認的本地存儲庫,而不是在解決方案中創建/packages
文件夾。 如何防止在解決方案中創建/ packages文件夾。 相反,我想使用"%userprofile%\\.nuget\\packages"
。
<add key="globalPackagesFolder" value="%userprofile%\.nuget\packages" />
2-當我將依賴項添加為nuget包時。 仍然更改.csprj
文件,並在其中添加dll的相關路徑作為具有相對路徑的參考。 可以嗎 自動生成的packages.config
不夠。 為什么還要更新此文件。
1-在nuget.config文件中,我放置了以下行。 因此,我希望nuget將使用默認的本地存儲庫,而不是在解決方案中創建/ packages文件夾。 如何防止在解決方案中創建/ packages文件夾。 相反,我想使用“%userprofile%.nuget \\ packages”。
您應該在NuGet.Config中使用以下設置:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<config>
<add key="repositoryPath" value="%userprofile%\.nuget\packages" />
</config>
</configuration>
您可以從以下屏幕截圖中查看測試結果,程序包已添加到“ %userprofile%\\.nuget\\packages
”文件夾中:
注意 :請注意文件名的大小寫,並在添加后重新啟動VS。
2-當我將依賴項添加為nuget包時。 仍然更改.csprj文件,並在其中添加dll的相關路徑作為具有相對路徑的參考。 可以嗎 自動生成的packages.config還不夠。 為什么還要更新此文件。
不會,因為.csproj文件中的Package.config和HintPath具有不同的角色 。 NuGet使用Package.config來管理軟件包,Visual Studio引用.csproj中的HintPath引用Dll文件的路徑。 這兩個文件都需要更新,否則Visual Studio將拋出錯誤“找不到引用...”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.