如何重新命名项目文件夹,从Visual Studio?
-
03-07-2019 - |
题
我目前的解决方案重新命名项目文件夹是:
- 删除的项目的解决方案。
- 重命名的文件夹外Visual Studio.
- 重新添加的项目的解决方案。
是否有更好的办法?
解决方案
TFS用户: 如果您使用的来源的控制,需要你来提醒它在你重新命名文件然后看看 这个答案不是 它涵盖了额外的步骤必需的。
重新命名项目 文件夹, 文件 (.*proj
)和 显示的名字 在visual studio:
- 关闭该方案。
- 重命名的文件夹(s)之外Visual Studio.(重新命名在TFS如果使用源的控制)
- 打开解决方案,忽略了警告(回答"没有"如果要求载入一个项目从源的控制)。
- 通过所有的 不可用的 项目和...
- 打开的 性能 窗口项目(突出的项目和新闻 Alt+输入 或 F4, 或者右击>性)。
- 设置该财产'文件路径'到新的位置。
- 如果财产是不可编辑(如在VS2012),然后打开
.sln
文件直接在另一个记事本之类的编辑器++和更新的路径有替代。(你可能需要检查-出的解决方案首先在TFS等)。
- 如果财产是不可编辑(如在VS2012),然后打开
- 重新加载 该项目的右击>载的项目。
- 改变显示名字的项目,通过突出显示和压 F2, 或者右击> 重命名.
注: 其他建议的解决方案,涉及删除,然后重新增加的项目的解决方案将分项目的引用。
如果执行这些步骤然后你也可能会考虑重新命名如下:
- 大会
- Default/根Namespace
- 名字空间的现有文件(使用"重构"工具在Visual Studio或ReSharper是不一致的名称空间工具)
还考虑修改的价值的下面 大会属性:
AssemblyProductAttribute
AssemblyDescriptionAttribute
AssemblyTitleAttribute
其他提示
还有另一种方式这样做,使用的*.溶胶、*csproj文件。
- 打开你的解决方案文件
- 搜索*.csproj你想改变
它将是这样的(相对于*.sol文件):
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Shani.Commands.Impl", "Shani.Commands.Impl\Shani.Commands.Impl.csproj", "{747CFA4B-FC83-419A-858E-5E2DE2B948EE}"
只是改变第一部分的新diretory例如:
Impl\Shani.Commands.Impl\Shani.Commands.Impl.csproj
当然不要忘记移动的整个项目,目录
有乐趣。
这是向前直在2015年VS (可能的工作在旧版本)
- 在方案资源管理器,右击
Main solution > Rename
- 在方案资源管理器,右击
project (under solution) > Rename
- 在方案资源管理器,双击,或右击
Properties >
转到应用程序选项,重新命名Assembly name
和Default namespace
相匹配。 - 如果你还愿重命名的名称空间、打开你的一类文件。右侧击
namespace > Rename...
这应该搜索和替换所有提到你的名字空间的整个项目。 - 关闭项目>重新命名的
project folder
. - 编辑
.sln
文件在记事本中,变化的路径cjproj.即fu\bar.csproj --> bar\bar.csproj
男人,我已经挣扎了这一点。遗憾的是没有一个点击方案在Visual Studio,但是如果你正在运行 Visual Studio2012年 和你的项目是根据源的控制 团队的基础服务器, ,这里是我怎么拿到它的工作,同时保持来源的历史:
(让你的读@mjv的评论如下,因为他注意到,你可以跳步骤5-10)
- 确保你已经检查了所有的变化,所以你没有未决的变化。
- 删除该项目从该方案中,通过权击并选择 删除.
- 现在,在Windows资源管理器,重新命名项目文件夹。
- 回到Visual Studio,并在方案资源管理器,右击解决方案,并选择 添加 -> 现有的项目.选择的项目文件的项目删除,在第2步,这应该是位于重命名的文件夹。
- 现在,该项目是在解决方案,但该项目似乎并不是添加到源的控制。为了解决这个问题,开放源的控制。
- 找到的项目文件夹源的控制资源管理器,相对应的项目文件夹在你盘,你改名为第3步。
- 重命名的文件夹源的控制资源管理器,所以它具有相同的姓名作为项目文件夹在磁盘上。
- 现在看看你未决的变化。你应该已经变化的解决方案文件和一个重新命名操作上的项目文件夹。
- 做一个重建和确保编制正确的。如果你有间项目引用的项目更名的,你需要添加他们再次单独的项目所引用的。
- 你应该是所有组现在。去检查一切。
上述指南为我工作。如果它不能为你工作,尝试并删除本地解决方案完全删除文件夹中的映射在你的工作空间。重新启动Visual Studio just in case.确保你实际上删除整个解决方案,从你的计算机。现在重新添加的解决方案的映射到你的工作空间和获得的最新版本。现在试试上述步骤。这同样适用,如果出现错误,同时以下述步骤。只是删除本地解决方案,并获得最新的来源,并且只有一个清白的工作。
如果你还有问题,确保你还没改变什么手动在方案文件,或者尝试其他的技巧之前试图将上述步骤。如果你有改变什么,并检查它在,您可能想要考虑做一个回滚到这点之前你开始惹重新命名的项目。
当然,你也想要重新命名项目本身,在解决方案。你可以这样做之前,上述步骤,但在这种情况下,确保在于变化之前,适用上述步骤。你也可以做到这一点之后,但确保遵守所有上述步骤的第一个,检查你的变化之前试图重新命名项目名称在解决方案。我建议不要试图混合上述步骤具有重命名的项目名称在解决方案。它可能的工作虽然,但我会建议在2个独立的变更集。
目前,没有。嗯,其实你可以击破碎的项目的节点和性质窗看看酒店"路径",然后点击小浏览标,并选择的新道路。
瞧:)
更简单的解决方案如下:
- 右击项目,并将其重命名。
- (可选)的开放的项目的财产设置和修改大会的名称(以及可选默认namespace)使用新项目的名称。
- (可选)选择空间的名字在来源文件,右击和选择"重构"\重新命名为全球重新命名的名字空间的新项目名称。
- (可选)的开放程序集信息.cs文件和改变组件名称匹配。
- 保存和关闭的解决方案。
- 使用Windows资源管理器,重新命名项目文件夹中的新名称。
- 打开SLN文件中的一个文本编辑器,并找到一个参考的项目路径,并将其更改为使用新的文件夹的名称。
有4个必要的步骤,但7的建议。在一天结束时,虽然该项目被重新命名。从技术上讲,该文件夹项目的名称并不匹配的项目的本身,所以即使这一步骤是任选的,但它可能会造成混淆,如果他们不相匹配。同样对于大会和namespace的名字。
在andersjanmyr的回答其更容易重新命名项目第一次。
- 重命名的项目。
- 关闭解决方案(拯救)。
- 重命名的文件夹外Visual Studio.
- 打开解决方案,忽略了警告。
- 通过所有可用的项目和设置的财产'的文件的道路'到新的位置的项目文件,即someproject.csproj.
- 重新载入该项目。
此外,在这些步骤是进行可能要重新命名其他参考文献给你的老项目的名称。
在项目的性质,更新大会的姓名和默认的名称空间。这将更新以下的项目文件...
<RootNamespace>SomeProjectName</RootNamespace>
<AssemblyName>SomeProjectName</AssemblyName>
...和将摆脱的错误"的名字空间并不对应于文件的位置,应该是:'SomeProjectName'"
重新命名你根namespace(如果你有resharper权击空间和去"重构"->重新命名).
改变所有出现的旧的项目名称在程序集信息.cs
我只是不得不这样做自己(使用VS2010).正如有些人已经回答说,最简单的步骤似乎是:
- 关闭VS项目。
- 打开.sln文件,并重新命名项目目录的前缀为每个。csproj事件的发生。
- 保存。sln文件
- 重命名的实际项目文件目录上你的硬盘驱动器,以配合你的变化。sln文件。
- 打开.sln(在VS)和重建
- 接近解决方案和IDE。
- 在资源管理器:改变目录名称以新的名称。
- 在资源管理器:打开.sln文件有一个文本编辑器。
- 改变目录名称以新的名称和保存。
- 重新启动IDE并打开解决方案从文件,最近的文件的菜单,如果它没有自动启动。
- 点击的项目文件夹中的方案资源管理器和检查道路财产的性质在底部。现在将引用的新的项目文件夹。
它为我工作。
经过验证的解决方案Visual Studio扩展的数据工具,用于业务情报(汽赛科-BI2013年):
- 移动项目文件夹到新的位置(不重命名的任何东西尚未)
- 在方案资源管理器,重新命名项目/方案。
- Close(和保存)的最新命名的项目。
- 重新命名项目的文件夹。sln文件。
- 使用一个文本编辑器打开新命名项目解决方案的文件(.sln)(I使用记事本++)
- 在线的6号,你会看到:"项目{fdjfksdjk4387!...} ="OLDPROJECT","OLDFOLDER\OLDPROJECT.rptproj".重新命名一切有新名称的使用在第4步。(即...="NEWPROJECT","新建文件夹 EWPROJECT.rptproj"...)
- 这就是它!
测试100%和工作完美地在我的情况。
注:不能证实,如果它的工作原理在不同项目的模板a/o Visual Studio版本。一如既往,做备份的一切事先。
对于那些使用Visual Studio+操作,想要保持文件记录(工作重新命名项目和/或方案):
1)关闭Visual Studio
2)中。gitignore文件重复的所有忽略道路项目要重新命名有名的版本的这些道路。
3)偏移命令是这样的:
git mv <old_folder_name> <new_folder_name>
请参阅文件为另外的选项: https://git-scm.com/docs/git-mv
4)在你的.sln文件:找到线定义的项目和文件夹变更名称的道路。线看起来应该是这样的:
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "<Project name>", "<path-to-project>\<project>.csproj"
5)开Visual Studio点项目>重新命名
6)之后重新命名的命名空间。我读resharper有一些选择。但是简单的发现/替换做的工作对我来说。
7)删除旧的。gitignore路径
@andersjanmyr的解决方案:你可以按Alt+进入带来的属性页不可用的项目和设置"的文件路径"的财产;因为它是不是在右click_context-菜单的不可用的项目(在VS2008).
我已经写了一个小的工具,可自动执行所有这些步骤。还支持颠复。
关于当前的版本可以在这里找到 Visual Studio项目更名的相关信息
最新版本现在可以下载 Visual Studio项目更名下载的页面
反馈是非常赞赏。
虽然这个问题已经回答了我想分享我的方法来解决这个问题。我往往有同样的问题的重命名的一个项目VS和编辑的文件夹的姓名,项目名称。sln文件,以便实现这一目标。我刚写了一VBScript,完成这一切。你必须要小心弦,你选择用于更换。
编辑:你只需要把。js文件在相同的目录中。sln文件的解决方案。
'Script parameters'
Solution = "Rename_Visual_Studio_Project" '.sln'
Project = "Rename_Visual_Studio_Project" '.csproj'
NewProject = "SUCCESS"
Const ForReading = 1
Const ForWriting = 2
Set objFso = CreateObject("Scripting.FileSystemObject")
scriptDirr = objFso.GetParentFolderName(wscript.ScriptFullName)
'Rename the all project references in the .sln file'
Set objFile = objFso.OpenTextFile(scriptDirr + "\" + Solution + ".sln", ForReading)
fileText = objFile.ReadAll
newFileText = Replace(fileText, Project, NewProject)
Set objFile = objFSO.OpenTextFile(scriptDirr + "\" + Solution + ".sln", ForWriting)
objFile.WriteLine(newFileText)
objFile.Close
'Rename the .csproj file'
objFso.MoveFile scriptDirr + "\" + Project + "\" + Project + ".csproj", scriptDirr + "\" + Project + "\" + NewProject + ".csproj"
'Rename the folder of the .csproj file'
objFso.MoveFolder scriptDirr + "\" + Project, scriptDirr + "\" + NewProject
什么为我工作到2017年:
- 接近解决方案VS
- 改名目录的项目的解决方案。
- (推动改变源的控制git在我的情况)
- 编辑sln文件在文本的编辑(外VS2017)改变名称的目录。
- 重新打开解决方案中VS
它说的一样"重新加入的项目"我重建一切,一切都很好去。
注:这一修正是为Visual Studio2008年,但应该在这里工作。
- 使用Windows资源管理器,重新命名的两个解决方案文件夹(父文件夹和电子文件夹)到新的解决方案的名称。
- 删除
.sln
文件在位于家长的文件夹。 - 在Visual Studio,选择文件|打开的项目。
- 钻入新的文件夹你只要改名并打开.csproj文件(位于子文件夹)。
- 右击该项目的姓名和重新命名为你想要什么。(应该是相同的姓名作为文件夹中的步骤1.)
- 选择文件|附近的解决方案。一对话将要求如果你想保存的变化
.sln
文件。请选择"是"。 - 在保存文件为对话,指向新改名为家长的文件夹和单击"保存"。(注:确保
.sln
文件具有相同的姓名作为文件夹。不需要,但是保持一致性。)
完成。
当使用TFS步骤2实际上是重新命名的文件夹源的控制,然后获得最新的之前,重新开放的解决方案。
最近,我们上传一个测试的一个免费与扩展其做这个东西给你。看看VS画廊:库下载
好了我做到了我的方式
- 近Visual Studio2012年
- 重新命名你的子目录的首选名下。sln
- 删除*.索文件
- 打开解决方案再一次,解决任何性质的项目(s)加载到满足新子目录名
重新命名项目在方案和项目文件夹
删除项目从溶液
添加现有项目,以解决方案(你重新命名项目)
这对我的作品。TFS还将跟踪新的项目。
开放。sln在一个文本文件,并在下面一行改变你的新名称的文件夹 项目("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}")="瑞奇","\.csproj","{021CC6B0-8CFB-4194-A103-C19AF869D965}"
我已经做这个很多次。这是真正有用的,可以重新调整现有项目,但能够重新命名的文字中的名称空间、文件和文件夹。使用递归找到和取代开始在根文件夹装置的重新命名不断的链接项目,在解决方案文件和项目参考文献。
为此,我已经创建了一个项目,就是这样做的。该应用程序还作出了努力,忽略的版本控制的文件夹等。git.svn。vs设置文件。更多信息的自述。
https://github.com/garethrbrown/vs-project-rename
改变之后的文件夹的名字,打开.sln文件在记事本和改变道路的新的道路。
类似的问题时出现的一个新项目将创建的,你想要一个不同的项目文件夹,名于该项目的名称。
在创建一个新的项目,它被保存在
./path/to/pro/ject/YourProject/YourProject.**proj
让我们假设你想拥有它直接在 ject
文件夹:
./path/to/pro/ject/YourProject.**proj
我的解决方法来完成,这是创建项目的最后部分的路径正如其名称,因此,它没有创建一个额外目录:
./path/to/pro/ject/ject.**proj
当你现在重新命名项目从Visual Studio,你实现我们的目标,而无需离开VS:
./path/to/pro/ject/YourProject.**proj
这种方法的缺点是,你必须调整默认的名字空间和输出的名称二进制以及和你有更新名字空间的所有文件都包括在项目的模板。
我用VS2013年和TFS2013年。
我没有这样的:
- 打开Visual Studio,而不打开解决方案本身,并使用源的控制资源管理器,以找到并重新命名的项目文件夹
- 双击解决方案文件在源控制资源管理器打开一个解决方案。
- 你会得到一个问题:"项目最近已经加入到这一解决方案。你想让他们从源的控制?", 和你选择是的
- 现在的文件夹和项目的结构是存在的,但现在的文件,所以现在你得到的最新版本,从源头控制
- 尝试建立和提交的变化。
有一个简单的方法进行了测试中VS2013年1更新和适用于TFS连接的项目:
- 开VS但是,让的解决方案的关闭
- 开放源资源管理器,并重新命名所需的文件夹(该方案将被关闭对于你,如果你不已经关闭它的第一个)
- 右击的解决方案(从源资源管理器还)和选择住
- 打开解决方案,你会告诉我们有新的项目增加,接受来得到改变。
- 删除的项目的解决方案,并添加一次,再检查-在
- 检查内部参考文献都确定
最简单的方法是去酒店的窗口更名为默认的名称空间然后重新命名做
1-重新命名项目之外VS。2编辑your_project_name.sln有一个文本编辑器,重新命名的路径新的路径
我做的如下:
重新命名项目vs2013.(可选择的/不需要的)
出口的项目作为一个模板。
关闭该方案。
重新打开解决方案
创建一个项目从保存的模板和使用的名称。
删除从方案资源管理器之前的项目。
在这一点上,我试图汇编的新的解决方案和做,所以我必须手动复制一些资源和头的新的项目文件夹,从旧的项目的文件夹。这样做,直到它汇编了没有错误。现在这个新的项目保存".exe"的文件的先前文件夹。
所以->
去窗户资源管理器和手工复制的解决方案文件从旧的项目文件夹中的新的项目文件夹。
关闭解决方案,并打开解决方案内的新项目。
改变的配置回(64)如果需要的话。
删除的文件夹的项目,与古老的名称从文件夹的解决方案。