Visual studio 将解决方案文件更改为其他文件夹

Visual studio 将解决方案文件更改为其他文件夹,visual-studio,visual-studio-2008,Visual Studio,Visual Studio 2008,如何更改现有解决方案文件(sln)的文件夹 它现在在我的一个项目文件夹中;如果我剪切解决方案文件并将其粘贴到根文件夹中,它不会加载我的任何项目。解决方案文件只是一个文本文件。您应该能够移动它,然后对其进行编辑,以确保文件中引用的任何相对路径都是正确的 我还可以在解决方案资源管理器中右键单击解决方案文件,然后使用“另存为”将其保存到其他位置。但这并不是每次对我都有效 如果我剪切sln文件并粘贴进去 根文件夹,它不会加载任何 我的项目 无论如何都要这样做,并尝试打开解决方案。它将告诉您某些项目无法加

如何更改现有解决方案文件(sln)的文件夹


它现在在我的一个项目文件夹中;如果我剪切解决方案文件并将其粘贴到根文件夹中,它不会加载我的任何项目。

解决方案文件只是一个文本文件。您应该能够移动它,然后对其进行编辑,以确保文件中引用的任何相对路径都是正确的

我还可以在解决方案资源管理器中右键单击解决方案文件,然后使用“另存为”将其保存到其他位置。但这并不是每次对我都有效

如果我剪切sln文件并粘贴进去 根文件夹,它不会加载任何 我的项目

无论如何都要这样做,并尝试打开解决方案。它将告诉您某些项目无法加载:忽略警告


然后,继续从解决方案中删除所有项目。在此之后,右键单击解决方案并选择
Add=>existingproject
,然后浏览到您的项目文件。对解决方案中的所有项目重复此操作。

我只需对继承的一些遗留项目执行此操作,因此认为它可能值得记录

从VS2005解决方案升级后,我注意到解决方案文件与项目文件处于同一级别。我们的标准是将解决方案文件的级别提高一级

在“记事本”中打开解决方案文件时,我会看到以下内容:

将所需的相对路径添加到每个项目路径,并保存在正确的位置:

就我而言,提出一个级别的“BloombergPriceRequestService”

因此项目线如下所示:

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BloombergPaydownService", "BloombergPaydownService\BloombergPaydownService.csproj", "{17DDDD3E-CD39-48B4-BE3F-71E550FCBBFC}"
EndProject
Global
不要忘记删除旧的解决方案文件!

打开一个空白解决方案,将其保存到要移动的位置。然后添加“现有项目”并选择Old.sln文件以添加旧解决方案文件下的所有项目。

编辑解决方案文件是一种危险的做法,我找到了一种更好的方法。只需创建一个新的解决方案,并将包含各种项目的文件夹副本(在各自的文件夹中)添加到项目中

在Visual Studio中打开解决方案资源管理器并选择解决方案。
单击文件>将MyProject.sln另存为…

然后选择新位置。

有时,解决方案文件可能包含超过5个附加到它的项目

在这种情况下,创建新的解决方案并向其中添加项目既麻烦又耗时

您只需编辑解决方案文件即可正确加载项目

步骤 sdas 1.在记事本或任何文本编辑器中打开解决方案文件。 2.更新带下划线并加粗的路径

项目(“{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}”)=“BloombergPaydownService”、“BloombergPaydownService\BloombergPaydownService.csproj”、“{17DDDD3E-CD39-48B4-BE3F-71E550FCBBFC}”

  • 保存文件并在Visual studio中打开

  • 有两种方法可以做到这一点:

  • 只需删除整个项目,然后在另一个文件夹中再次创建整个项目(不建议这样做)
  • 以下是在不丢失任何文件的情况下应遵循的步骤

    a。转到“源代码管理资源管理器”创建一个新文件夹或只移动要将文件夹移动到的解决方案

    b。在本地加载解决方案,它将提示一条消息,告诉您是否要从源代码管理重新加载它 单击是

    c。加载解决方案后,您将看到您移动的项目将不会加载(因为我们已移动到另一个文件夹)

    d。现在,删除未加载的项目,然后将其添加为现有项目

    e。我确信,如果您添加了nugetPackages,它们将不会被加载

    f。转到特定项目的文件资源管理器 打开.csproj文件,并尝试检查包的位置、错误条件、项目引用和导入,如果有,请与它们分开 它们指向一个目录

    g。最简单的方法就是添加一些nuget包,看看VisualStudio生成的路径是什么

    h。一旦我们更改了位置,它们将被加载到引用中

    一,。添加引用后,尝试构建解决方案,它将抛出一些构建错误,因为我们将项目从一个文件夹移动到了另一个文件夹

    j。移动文件后,根据需要添加项目引用

    k。现在,构建将成功

  • 你需要

  • 在解决方案资源管理器中选择解决方案的步骤
  • 然后查找按钮File->SaveAs solution.sln as
  • 按它


  • 用另一种方法编辑了我的答案,这种方法有时似乎有效。这对我很有效。用记事本打开了.sln,并将所有路径更改为我的新路径。谢谢2018年仍然相关。在打开新解决方案后,我要添加第二步:(1)删除所有项目和解决方案项,(2)将除解决方案文件之外的所有项目文件夹复制到新位置,(3)重新添加新位置的所有项目和引用。现在,您的所有解决方案和项目都位于同一文件夹组中。(如果这是您的意图)我可以确认它在VS2013中有效。如果sln受源代码管理,请首先转到文件|源代码管理|高级|更改源代码管理。选择解决方案并单击“解除绑定”。将.sln保存到新文件夹后,可以将其再次绑定到源代码管理…然后从源代码管理(在源代码管理资源管理器中)和磁盘中删除旧的.sln和.vssscc文件,并将新文件添加到源代码管理(如果未自动完成)。在此处使用VS2012,对于我的情况,我需要首先单击解决方案资源管理器中的解决方案文件,然后只有我才能看到文件->将MyProject.sln另存为。。。希望这对某些人有所帮助—Visual Studio 2017(15.4.2)Enterprise中没有此选项