我目前重命名项目文件夹的解决方案是:
有没有更好的方法?
TFS用户:如果您使用的源代码控制要求您在重命名文件/文件夹之前对其进行警告,请查看this answer instead,其中包含所需的额外步骤。
要在Visual Studio中重命名项目的文件夹,文件(.*proj
)和显示名称:
.sln
文件,然后更新其中的路径。 (您可能需要先在TFS中签出解决方案等)
重新加载项目 - 右键单击>重新加载项目。
更改项目的显示名称,突出显示并按F2,或右键单击>重命名。注意:涉及删除然后将项目重新添加到解决方案的其他建议解决方案将破坏项目引用。
如果您执行这些步骤,那么您可能还会考虑重命名以下内容以匹配:
还要考虑修改以下assembly attributes的值:
AssemblyProductAttribute
AssemblyDescriptionAttribute
AssemblyTitleAttribute
它对我有用。
经验证的商业智能数据工具Visual Studio扩展解决方案(SSDT-BI 2013):
100%测试并在我的情况下完美地工作。
注意:无法确认它是否在不同的项目模板和/或Visual Studio版本下工作。一如既往,事先备份一切。
对于那些使用Visual Studio + git并希望保留文件历史记录的人(可以重命名项目和/或解决方案):
1)关闭Visual Studio
2)在.gitignore文件中,复制要使用这些路径的重命名版本重命名的项目的所有忽略路径。
3)使用git move命令,如下所示:
See item 3 in linked article.
有关其他选项,请参阅文档:git mv <old_folder_name> <new_folder_name>
4)在.sln文件中:找到定义项目的行并更改路径中的文件夹名称。该行应该类似于:
https://git-scm.com/docs/git-mv
5)打开Visual Studio,右键单击项目 - >重命名
6)然后重命名命名空间。我读到resharper有一些选择。但简单的查找/替换为我做了这项工作。
7)删除旧的.gitignore路径
@ andersjanmyr的解决方案:您可以按Alt + Enter打开不可用项目的属性页面,并在那里设置“文件路径”属性;因为它在不可用项目的右键单击 - 上下文菜单中不可用(在VS2008中)。
我写了一个小工具,可以自动完成所有这些步骤。现在也支持subversion。
有关当前版本的信息可以在这里找到Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "<Project name>", "<path-to-project>\<project>.csproj"
最新版本现在可以从qazxsw poi下载
反馈非常感谢。
虽然这个问题已经得到解答,但我想分享我解决这个问题的方法。我经常遇到在VS中重命名项目并编辑文件夹名称,项目名称和.sln文件以实现此目的的相同问题。我刚写了一个完成所有这些的VBScript。您必须小心选择要替换的字符串。
编辑:您只需将.vbs文件放在与解决方案的.sln文件相同的目录中。
Visual Studio Project Renamer Infos
2017年对我有用的是:
它说“重新添加项目”之类的东西,我重建了一切,一切都很好。
注意:此修复程序适用于Visual Studio 2008,但应在此处运行。
'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
文件的更改。单击是。.sln
文件与文件夹具有相同的名称。不是必需的,但保持一致性。)DONE。
使用TFS时,步骤2实际上是重命名源控件中的文件夹,然后在重新打开解决方案之前获取最新信息。
我们最近上传了一个免费VS扩展程序的测试版,它为您完成了这些工作。看看VS画廊:.sln
使用* .sol,* csproj文件还有另一种方法。
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Shani.Commands.Impl", "Shani.Commands.Impl\Shani.Commands.Impl.csproj", "{747CFA4B-FC83-419A-858E-5E2DE2B948EE}"
玩得开心。
好吧,我按照我的方式做到了
这个对我有用。 TFS还将跟踪新项目。
在文本文件中打开.sln,然后在以下行中更改为新文件夹名称Project(“{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}”)=“Ricky”,“\。csproj”,“{021CC6B0-8CFB -4194-A103-C19AF869D965}”
我必须这么做很多次。能够重新利用现有项目但能够重命名命名空间,文件和文件夹中的文本非常有用。使用从根文件夹开始的递归查找和替换意味着重命名不会破坏解决方案文件和项目引用中项目的链接。
为此,我创建了一个项目来做到这一点。该应用程序还努力忽略版本控制文件夹,如.git,.svn和.vs设置文件。 README中的更多信息。
.sln
更改文件夹名称后,在记事本中打开.sln文件并将路径更改为新路径。
当必须创建新项目时,会出现类似问题,并且您需要与项目名称不同的项目文件夹名称。
创建新项目时,它将存储在
Gallery Download
我们假设你想直接在https://github.com/garethrbrown/vs-project-rename文件夹中:
./path/to/pro/ject/YourProject/YourProject.**proj
我完成此任务的解决方法是创建项目,并将路径的最后一部分作为其名称,以便它不会创建其他目录:
ject
现在,当您从Visual Studio中重命名项目时,无需离开VS即可实现目标:
./path/to/pro/ject/YourProject.**proj
这种方法的缺点是你必须调整默认命名空间和输出二进制文件的名称,并且必须更新项目模板中包含的所有文件中的命名空间。
我使用VS 2013和TFS 2013。
我是这样做的:
有一种更简单的方法在VS 2013 Update 1中进行了测试,适用于TFS连接的项目:
最简单的方法是转到默认命名空间的窗口更改名称的属性,然后重命名完成
1 - 在VS外重命名项目。 2 - 使用文本编辑器编辑your_project_name.sln,将路径重命名为新路径
这在VS 2015中是直截了当的(可能适用于旧版本)
Impl\Shani.Commands.Impl\Shani.Commands.Impl.csproj
Main solution > Rename
project (under solution) > Rename
goto应用程序选项卡,重命名Properties >
和Assembly name
以匹配。Default namespace
,这应该搜索并替换整个项目中对命名空间的所有引用。namespace > Rename...
。project folder
文件,更改cjproj的路径。即.sln
我做了以下事情:
在这一点上,我尝试编译新的解决方案,为此我必须手动将一些资源和标题从旧项目文件夹复制到新项目文件夹。这样做直到它编译没有错误。现在,这个新项目将“.exe”文件保存到上一个文件夹。*
所以 - >
伙计,我有没有挣扎过这个。遗憾的是,Visual Studio中没有单击解决方案,但是如果您正在运行Visual Studio 2012并且您的项目受Team Foundation Server的源代码控制,那么我可以在保留源历史记录的同时使用它:
(请务必阅读下面的@ mjv评论,因为他指出你可以跳过步骤5-10)
上面的指南对我有用。如果它不适合您,请尝试完全删除本地解决方案,并删除工作区中的文件夹映射。重启Visual Studio以防万一。确保您确实从计算机中删除了整个解决方案。现在阅读解决方案映射到您的工作区并获取最新版本。现在尝试上面的步骤。如果在执行上述步骤时出现问题,则同样适用。只需在本地删除您的解决方案并获取最新的源代码,您就可以使用干净的平板。
如果您仍然遇到问题,请确保在尝试上述步骤之前未在解决方案文件中手动更改任何内容,或尝试其他“技巧”。如果您更改了某些内容并将其签入,则可能需要考虑在开始搞乱项目重命名之前进行回滚。
当然,您还需要在解决方案资源管理器中重命名项目本身。您可以在上述步骤之前执行此操作,但在这种情况下,请确保在应用上述步骤之前签入该更改。您也可以在以后执行此操作,但请确保首先执行上述所有步骤,并在尝试在解决方案资源管理器中重命名项目名称之前检入更改。我不建议尝试将上述步骤与解决方案资源管理器中项目名称的重命名混合使用。它可能会工作,但我建议在2个单独的变更集中进行。
目前,没有。实际上,您可以单击已损坏的项目节点,然后在属性窗格中查找属性“路径”,然后单击小浏览图标并选择新路径。
这是:)
更简单的解决方案如下:
有4个需要的步骤,但推荐7个。尽管项目完全重命名,但在一天结束时。从技术上讲,项目的文件夹名称不必与项目本身匹配,因此即使该步骤也是可选的,但如果它们不匹配则可能会令人困惑。与程序集和命名空间名称相同。
在andersjanmyr的回答中,首先更容易重命名项目。
此外,执行这些步骤后,您可能希望重命名对旧项目名称的其他引用。
在项目属性中,更新程序集名称和默认命名空间。这将更新项目文件中的以下内容......
fu\bar.csproj --> bar\bar.csproj
...并将摆脱错误“命名空间与文件位置不对应,应该是:'SomeProjectName'”
重命名您的根命名空间(如果您有resharper,请右键单击Namespace并转到Refactor - > Rename)。
在AssemblyInfo.cs中更改旧项目名称的所有实例
对于VS2017,您可以使用我的visual studio扩展
<RootNamespace>SomeProjectName</RootNamespace>
<AssemblyName>SomeProjectName</AssemblyName>
它将重命名项目:
我必须自己做(使用VS2010)。正如一些人回答的那样,最简单的步骤似乎是: