簡體   English   中英

是否可以覆蓋 Visual Studio 項目文件中的 NuGet 提示路徑?

[英]Is it possible to override NuGet hint paths in Visual Studio project files?

我已經克隆了一個 git 存儲庫,其中包含一個引用 Json.Net 作為 NuGet 包的 VS 項目。 此引用以以下形式出現:

<HintPath>..\..\..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>

我已將存儲庫(以及我所有其他 git 存儲庫)克隆到D:\\Repos

如您所見,我無法將我的軟件包安裝在 3 個目錄之上。

使用環境變量 ( NUGET_PACKAGES ) 或packages.config文件似乎不會覆蓋在安裝包時硬烘焙到項目文件中的相對路徑。

雖然這個確切的實例可以通過將這個特定的 repo 3 文件夾更深地埋在文件系統中來解決,但這不是問題的解決方案。

是否可以告訴 Visual Studio 忽略這些作者指定的HintPath以支持某種用戶指定的路徑?

如果您使用的是 packages.config 文件,則無法在添加 NuGet 包時禁用提示路徑。

我會考慮在解決方案旁邊使用 NuGet.Config 文件,並使用repositoryPath設置來定義您想要包的位置。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <config>
    <add key="repositoryPath" value="../MyPackages" />
  </config>
</configuration>

另一種選擇是使用 project.json 文件,盡管該文件將在某個時候消失。 使用 project.json 文件意味着您的 .csproj 文件中根本沒有存儲任何提示路徑。 程序集在構建時解析。

暫無
暫無

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

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