我雇了一个承包商为我做一些编码。他使用以下存储库路径在解决方案文件夹中设置 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/