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

sap*_*ket 4 c# visual-studio nuget

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

<configuration>
  <solution>
    <add key="disableSourceControlIntegration"
      value="true" />
  </solution>
  <config>
    <add key="repositoryPath"
      value="../lib" />
  </config>
</configuration>
Run Code Online (Sandbox Code Playgroud)

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

value="../<mySolutionFolder>/lib" />
Run Code Online (Sandbox Code Playgroud)

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

唯一的解决方法是从头开始重新创建我的解决方案中的每个项目,并添加 - >现有项目等,并参考 - >管理nuget包,并再次安装每个参考.

我的解决方案中有很多项目,并且每个项目执行此项目都非常耗时.

我想知道是否有一个简单的方法?

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

Mat*_*ard 6

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

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

Update-Package -reinstall
Run Code Online (Sandbox Code Playgroud)

这将重新安装解决方案中的所有NuGet包.我假设你有源代码控制下的代码,所以如果你需要在重新安装后还原它们,你可以看到对项目做了哪些更改.

有关在NuGet文档站点重新安装NuGet包的更多文档.

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


Ani*_*pta 0

Package.config 用于将文件放在文件夹中的其他位置,当您通过 Nuget 在项目中添加某些内容时,它有助于最好不要异常上传包。

尝试将包复制到该文件夹​​(您设置的新路径),或者直接关闭项目,再次打开它,然后在转到“管理项目引用”后单击“恢复”。