C# visual studio 如何重新定位 nuget 包文件夹?

标签 c# visual-studio nuget

我雇了一个承包商为我做一些编码。他使用以下存储库路径在解决方案文件夹中设置 nuget.config:

<configuration>
  <solution>
    <add key="disableSourceControlIntegration"
      value="true" />
  </solution>
  <config>
    <add key="repositoryPath"
      value="../lib" />
  </config>
</configuration>

我对他的决定不太满意:这会将 nuget 包文件夹放在解决方案文件夹之外。我可以轻松更改存储库路径,只需设置:

value="../<mySolutionFolder>/lib" />

然而,当我这样做时,一件奇怪的事情发生了:我在我的解决方案中使用的每一个引用现在都被破坏了。我在 .csproj 文件或其他 *.config 文件中所做的任何更改都不会允许我的项目找到它们的引用。

唯一的解决方法是重新创建我的解决方案中的每个项目,方法是从头开始,然后添加 -> 现有项目等,然后引用 -> 管理 nuget 包,然后重新安装每个引用。

我的解决方案中有很多项目,对每个项目执行此操作非常耗时,这是可以理解的。

请问有什么简单的方法吗?

似乎应该有一种方法可以让 Nuget 和 VS 很好地配合,这样我就可以轻松将存储库文件夹移动到不同的路径位置。

最佳答案

修复引用路径的一种方法是使用包管理器控制台。

您可以从包管理器控制台运行以下命令来重新安装 NuGet 包,这将修复引用的提示路径。

Update-Package -reinstall

这将重新安装解决方案中的所有 NuGet 包。我假设您已将代码置于源代码管理之下,以便在重新安装后需要还原项目时可以查看对项目进行了哪些更改。

关于 reinstalling NuGet packages on the NuGet documentation site 有更多文档.

解决此问题的另一种方法是在 .csproj 文件中查找并替换以修复提示路径。

关于C# visual studio 如何重新定位 nuget 包文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40943096/

相关文章:

mysql - 如何让 MySQL.Data 在 Rider 上运行?

c# - 如何防止 SaveFileDialog 提示两次以替换/覆盖文件?

c# - 指定接口(interface)只能由引用类型实现 C#

c# - 不允许从数据类型 nvarchar 到二进制的隐式转换。使用 CONVERT 函数运行此查询。

c++ - Visual Studio 2010 'Go to Definition'/f12 无法正常工作

powershell - 在 Visual Studio Nuget 包管理器控制台中中止 "unclosed"powershell 命令

visual-studio-2010 - “HtmlAgilityPack”已具有为 'System.Net.Http' 定义的依赖项

c# - 用 Observable 替换 TaskCompletionSource

c# - 通过上下文访问 ASP.NET 应用程序中的 session

c# - 在临时目录中创建新项目