我需要重命名的Visual Studio解决方案(2010年,但无所谓)。
我想重命名文件夹以匹配新的解决方案名称,但我无法找到自动重构文件夹名称的方法,并且浏览每个项目文件都会很痛苦。
有正式方法吗?或者(并且更不优选),是否有免费工具来实现这一目标?
答案 0 :(得分:325)
手动编辑.sln文件
此方法完全旨在重命名项目目录,如Windows资源管理器中所示。
此方法不会遇到下面删除/添加项目文件方法中的问题(引用消失),但如果您的项目受源代码管理,则可能会导致问题(请参阅下面的注释) 。这就是第2步(备份)如此重要的原因。
TortoiseSVN
,右键单击该文件,选择TortoiseSVN .. Rename
。 您还可以看到renaming solution manually或post which describes this manual process。
<强>优点强>
<强>警告强>
更新2014-11-02
ReSharper添加了一种自动方法,可以获得与上述手动方法相同的结果。如果命名空间用粗糙的蓝线加下划线,请单击操作金字塔图标以:
在第二种情况下,最后一个单词在Windows资源管理器中定义新目录名称,例如:如果我们将命名空间更改为ViewModel2
,则会将文件移至文件夹ViewModel2
。
但是,这不一定会更新源代码管理中的文件,因此您可能仍需要使用手动方法。
更新2018-01-31
使用Visual Studio 2008,2010,2012,2013,2015,2017测试更新1,2,3,4,5。
答案 1 :(得分:137)
以下是重命名解决方案时需要遵循的步骤:
namespace WindowsFormsApplication1
更改AssemblyTitle和AssemblyProduct 属性/ AssemblyInfo.cs中。
[assembly: AssemblyTitle("New Name Here")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("New Name Here")]
[assembly: AssemblyCopyright("Copyright © 2013")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
以物理方式删除bin和obj目录。
重命名项目物理文件夹目录。
打开SLN文件(在记事本或任何编辑器中)并更改路径 到项目。
清理并重建项目。
答案 2 :(得分:29)
visual studio中的重命名操作仅更改文件名,即项目,* .prj和解决方案* .sln。您将需要使用文件系统单独重命名文件夹,并且您将需要删除和读取项目,因为它们将具有新的foldernames。但请注意,解决方案和项目文件分别是texst和xml文件。您可以编写自己的程序来解析它们,并重命名文件夹名称,文件名,并在内部修复项目/解决方案文件。
答案 3 :(得分:20)
您也可以导出模板,然后从导出的模板创建一个新项目,根据需要更改名称
答案 4 :(得分:8)
以下是在Visual Studio 2013中重命名整个解决方案的分步方法
假设我们正在更改一个名为&#34; HelloWorld.ui&#34;的项目。到&#34; Section1to5.ui&#34;
右键单击刚刚重命名的项目,然后单击&#34;属性&#34;。在“应用程序”选项卡下,更改&#34;程序集名称&#34;和&#34;默认命名空间&#34;。
在主Program.cs文件(或您可能已创建的任何其他代码文件)中,重命名命名空间声明以使用新名称。为此,右键单击命名空间并选择Refactor&gt;重命名输入新名称。例如:
命名空间HelloWorld.ui ----&gt;名称空间Section1to5.ui
接下来,展开&#34;属性&#34;并双击AssemblyInfo.cs文件。您会注意到以下代码片段:
[assembly: AssemblyTitle("HelloWorld.ui")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("Microsoft")] [assembly: AssemblyProduct("HelloWorld.ui")] [assembly: AssemblyCopyright("Copyright © Microsoft 2015")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")]
您需要将Properties / AssemblyInfo.cs中的AssemblyTitle和AssemblyProduct更改为新名称,在此示例中为&#34; HelloWorld.ui&#34;到&#34; Section1to5.ui&#34;。完成更改名称后,保存并关闭Visual Studio。
在项目目录中,进入文件夹&#34; HelloWorld.ui&#34;并删除&#34; bin&#34;和&#34; obj&#34;目录。
完成后,重命名文件夹&#34; HelloWorld.ui&#34;到新项目名称。
使用文本编辑器(如Notepad或Notepad ++)打开重命名的解决方案文件,然后编辑以下行:
项目(&#34; {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}&#34;)=&#34; HelloWorld.ui&#34;,&#34; HelloWorld.ui \ HelloWorld.ui.csproj& #34;,&#34; {39FC65A3-3AE7-4EC9-B8F7-74F971636C70}&#34;
替换&#34; HelloWorld.ui&#34;的所有实例您为项目选择的新名称,在本例中为&#34; Section1to5.ui&#34;。这会在步骤6中将项目的路径更改为重命名的目录。
使用visual studio打开解决方案文件,然后清理并重建项目。
你可能会注意到&#34; Debug / Run&#34;按钮已被&#34;附加&#34;按钮。如果发生这种情况,只需右键单击项目并选择&#34;设置为启动项目&#34;选项。或者,点击工具&gt;自定义&gt;命令&gt;添加命令&gt;调试并添加按钮。
您已重新命名该项目,如果您有任何疑问,请随时发帖,我很乐意帮忙!
答案 5 :(得分:6)
删除bin和obj子文件夹以删除不正确引用的加载,然后使用windows搜索旧名称。
编辑找到并重建的任何代码或xml文件,现在应该没问题。
答案 6 :(得分:4)
删除/添加项目文件方法
此方法完全旨在重命名项目目录,如Windows资源管理器中所示。
<强>优点强>
<强>缺点强>
右键单击项目并选择“在Windows资源管理器中打开文件夹”对于在执行此过程时跟踪项目的存储位置非常有用。
答案 7 :(得分:4)
使用Notepad ++中的“Find in Files”功能对我来说很好(ctrl + H,在文件中查找)。
答案 8 :(得分:4)
我尝试过Visual Studio Project Renamer,但是在我尝试过的少数情况下它会抛出异常。
我在CopyWiz取得了不错的成绩。
我与他们没有任何关系,我还没有付钱,但我可能不得不很快,因为它是唯一适用于我的C#和C ++项目的工具。我希望他们赚一点钱,并继续改进它。
答案 9 :(得分:3)
你可以:
点击文件 - &gt; new - &gt;从现有项目创建项目
选择原始文件,例如。解决方案1并输入新文件名解决方案2
更改新解决方案2中的项目名称
答案 10 :(得分:2)
如果您在Visual Studio 2010中创建网站。您可以按如下方式更改项目名称。
步骤1:在Visual Studio 2010中,SLN文件将存储在Visual Studio 2010中的项目文件夹下,源文件存储在Visual Studio 2010中的“网站”文件夹下。
步骤2:通过右键单击包含SLN项目的重命名文件夹重命名文件夹。
步骤3:通过重命名右键单击该SLN文件重命名SLN文件名。
步骤4:在Visual Studio 2010中的网站下重命名包含该SLN文件的源的文件夹。
步骤5:然后最后双击您的SLN文件并更改SLN源文件夹的根目录。
答案 11 :(得分:2)
我是VS的新手。我只是遇到了同样的问题:需要在几周的工作后重命名一个已启动的项目。这就是我做的,它的工作原理。
可能更多的步骤,但更少或根本没有打字,只需点击一下鼠标。希望 它有助于:)
答案 12 :(得分:2)
如果您在加载共享项目时遇到问题,例如Xamarin,请记住在csproj文件中更改对共享库的引用。我开发了一个CocosSharp游戏,而Droid / iOS / WP81项目并不想加载。我必须在每个引用Shared lib的csproj文件(Driod / iOS / WP81)中更改以下行。这是因为文件夹名称更改造成的,因此请将YOUR_PREVIOUS_NAMESPACE替换为新的文件夹名称。
getFragmentManager().beginTransaction().replace(R.id.container,new HomeFragment()).commit();
另外我注意到。对于.Driod项目,项目属性中的程序集名称不能使用visual studio更改(我使用2015)。我不得不在.Droid.csproj文件中手动更改程序集名称。
<Import Project="..\YOUR_PREVIOUS_NAMESPACE.Shared\EmptyProject.Shared.projitems" Label="Shared" />
然后我加载了解决方案并在项目属性视图中出现了新名称。重建后,生成了具有该名称的dll。
答案 13 :(得分:2)
我已经使用了Visual Studio扩展程序&#34; Full Rename Project&#34;成功重命名ASP.NET Core 2解决方案中的项目。
然后我使用ReSharper调整命名空间(右键单击项目,重构,调整命名空间......)
答案 14 :(得分:2)
我已经点击了https://gist.github.com/n3dst4/b932117f3453cc6c56be链接,因此能够成功重命名整个解决方案。
答案 15 :(得分:0)