Answers:
手动编辑.sln文件
从Windows资源管理器中查看,此方法完全旨在重命名项目的目录。
此方法不会遇到下面的“ 删除/添加项目文件”方法中的问题(引用消失),但是如果您的项目在源代码控制下,则可能会导致问题(请参见下面的注释)。这就是为什么步骤2(备份)如此重要的原因。
Project1
为Project2
。Project1
,以Project2
使用Windows资源管理器。Project1
,以Project2
使用由源控制供给的功能。这将保留文件的历史记录。例如,使用TortoiseSVN
,右键单击文件,选择TortoiseSVN .. Rename
。Project1
中Project2
,使用文本编辑器(如NotePad)编辑to的所有实例。您还可以看到手动重命名解决方案或描述此手动过程的帖子。
优点
警告事项
更新2014-11-02
ReSharper添加了一种自动化方法,以实现与上述手动方法相同的结果。如果名称空间用蓝色波浪线加下划线,请单击动作金字塔图标以执行以下任一操作:
在第二种情况下,最后一个词在Windows资源管理器中定义了新的目录名称,例如,如果将名称空间更改为ViewModel2
,它将提供将文件移动到folder的功能ViewModel2
。
但是,这不一定会更新源代码管理中的文件,因此您可能仍必须使用手动方法。
更新2018-01-31
使用Visual Studio 2008、2010、2012、2013、2015、2017 Update 1,2,3,4,5进行了测试。
更新2020-05-02
已在Visual Studio 2019中测试。
重命名解决方案需要遵循以下步骤:
namespace WindowsFormsApplication1
在Properties / AssemblyInfo.cs中更改AssemblyTitle和AssemblyProduct。
[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文件(在记事本或任何编辑器中),然后更改项目的路径。
清理并重建项目。
Dataset
手动管理(如果您已附加到项目中)。
\Packages\repositories.config
文件中的项目路径 。
Visual Studio中的重命名操作仅更改文件名,例如,用于项目* .prj和用于解决方案* .sln。您将需要使用文件系统分别重命名文件夹,并且您将需要删除并读取项目,因为它们将具有新的文件夹名称。但是,请注意,解决方案文件和项目文件分别是texst和xml文件。您可以编写自己的程序来解析它们,并重命名文件夹名称,文件名,并在内部修复项目/解决方案文件。
您还可以导出模板,然后从导出的模板创建新项目,并根据需要更改名称
下面是在Visual Studio 2013中重命名整个解决方案的分步方法
假设我们将一个名为“ HelloWorld.ui”的项目更改为“ Section1to5.ui”
右键单击刚刚重命名的项目,然后单击“属性”。在“应用程序”选项卡下,更改“程序集名称”和“默认名称空间”。
在主Program.cs文件(或您可能已创建的任何其他代码文件)中,重命名名称空间声明以使用新名称。为此,右键单击名称空间,然后选择“重构”>“重命名”,输入新名称。例如:
命名空间HelloWorld.ui ---->命名空间Section1to5.ui
接下来,展开“属性”,然后双击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更改为新名称,在本示例中,将从“ HelloWorld.ui”更改为“ Section1to5.ui”。更改名称后,请保存并关闭Visual Studio。
在项目目录中,进入文件夹“ HelloWorld.ui”,然后删除“ bin”和“ obj”目录。
完成后,将文件夹“ HelloWorld.ui”重命名为新的项目名称。
使用文本编辑器(如记事本或记事本++)打开重命名的解决方案文件,然后编辑以下行:
Project(“ {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}”)=“ HelloWorld.ui”,“ HelloWorld.ui \ HelloWorld.ui.csproj”,“ {39FC65A3-3AE7-4EC9-B8F7-74F971636C70}”
用您为项目选择的新名称替换“ HelloWorld.ui”的所有实例,在本例中为“ Section1to5.ui”。这将在步骤6中将项目的路径更改为重命名的目录。
使用Visual Studio打开解决方案文件,然后清理并重建项目。
您可能会注意到,“调试/运行”按钮已由“附加”按钮代替。如果发生这种情况,只需右键单击该项目,然后选择“设置为启动项目”选项。或者,单击工具>自定义>命令>添加命令>调试,然后添加按钮。
如果您有任何疑问,可以随时重命名该项目,如果有任何疑问,我将很乐意为您提供帮助!
我已使用Visual Studio扩展“完全重命名项目”来成功重命名ASP.NET Core 2解决方案中的项目。
然后我使用ReSharper来调整名称空间(右键单击项目,重构,调整名称空间...)
使用Notepad ++的“在文件中查找”功能对我来说效果很好(Ctrl + H,在文件中查找)。
删除/添加项目文件的方法
从Windows资源管理器中查看,此方法完全旨在重命名项目的目录。
优点
缺点
右键单击项目,然后选择“在Windows资源管理器中打开文件夹”对于跟踪执行此过程时项目的存储位置很有用。
如果您在加载共享项目(例如Xamarin)时遇到问题,请记住更改对csproj文件中共享库的引用。我开发了CocosSharp游戏,但Droid / iOS / WP81项目不想加载。我必须在引用共享库的每个csproj文件(Driod / iOS / WP81)中的下面更改。这是由于文件夹名称更改引起的,因此请用新的文件夹名称替换YOUR_PREVIOUS_NAMESPACE。
<Import Project="..\YOUR_PREVIOUS_NAMESPACE.Shared\EmptyProject.Shared.projitems" Label="Shared" />
我还注意到,对于.Driod项目,无法使用Visual Studio更改项目属性中的程序集名称(我使用2015)。我必须在.Droid.csproj文件中手动更改程序集名称。
<AssemblyName>YourNameSpace</AssemblyName>
然后,我加载了解决方案,并在项目属性视图中出现了新名称。重建具有该名称的dll之后。
如果要在Visual Studio 2010中创建网站,则可以按以下方式更改项目名称。
步骤1:在Visual Studio 2010中,SLN文件将存储在Visual Studio 2010中的项目文件夹下,而源文件存储在Visual Studio 2010中的Website文件夹下。
第2步:通过右键单击包含您的SLN项目的“重命名”向前将该文件夹重命名。
步骤3:通过右键单击“重命名”转发该SLN文件,重命名SLN文件名。
步骤4:在Visual Studio 2010中的网站下,将包含该SLN文件的源的文件夹重命名。
步骤5:然后,最终双击您的SLN文件,并更改SLN源文件夹的根目录。
在WEB项目中的Visual Studio 2013上唯一适用于我的解决方案:
可以说我想将“ project1”重命名为“ project2”。可以说我的.sln文件的物理路径是:c:\ my \ path \ project1 \ project1.sln
因此,我的.csproj文件以及bin和obj文件夹的路径应为:c:\ my \ path \ project1 \ project1 \
通过双击project1.sln文件在VS中打开解决方案。
在解决方案资源管理器中,右键单击项目(不是解决方案!!!),选择“重命名”,然后输入新名称。
在解决方案资源管理器中,右键单击该项目,然后选择“属性”。在“应用程序”选项卡上,更改“程序集名称”和“默认名称空间”。
在主CS文件(或任何其他代码文件,例如Global.asax)中,重命名名称空间声明以使用新名称。为此,右键单击名称空间,然后选择“重构”>“重命名”,输入新名称。例如:
命名空间project1
4.1在解决方案资源管理器中,右键单击项目(不是解决方案!!!),选择“重命名”,然后输入新名称。
1 [assembly:AssemblyTitle(“此处为新名称”)] 2 [assembly:AssemblyDescription(“”)] 3 [assembly:AssemblyConfiguration(“”)] 4 [assembly:AssemblyCompany(“”)] 5 [assembly:AssemblyProduct(“这里是新名称“]] 6 [assembly:AssemblyCopyright(” Copyright©2013“)] 7 [assembly:AssemblyTrademark(”“)] 8 [assembly:AssemblyCulture(”“)]]
关闭Visual Studio。
物理删除bin和obj目录。
将父文件夹和源文件夹重命名为新名称(project2):
在示例中:c:\ my \ path \ project1 \ project1
将是:c:\ my \ path \ project2 \ project2
通过右键单击“重命名”向前转发的SLN文件来重命名SLN文件名。
然后,最后打开SLN文件(在记事本或任何编辑器中),然后将任何旧名称复制并替换(Ctrl + h)为新名称。
打开VS并单击BUILD-> Clean Solution
单击生成->生成解决方案,然后按F5运行...
注意1:如果得到以下信息:编译错误CS0246:找不到类型或名称空间名称“ project2”(是否缺少using指令或程序集引用?)
源文件:c:\ Users \ Username \ AppData \ Local \ Temp \ Temporary ASP.NET Files \ root \ 78dd917f \ d0836ce4 \ App_Web_index.cshtml.a8d08dba.b0mwjmih.0.cs
然后转到“ Temporary ASP.NET Files”文件夹并删除所有内容。
我是VS的新手。我只是遇到了同样的问题:经过几个星期的工作,需要重命名一个已启动的项目。这就是我所做的,并且有效。
也许只需单击几下鼠标,便可以执行更多的步骤,但很少或根本不需要输入。希望能帮助到你 :)
我已遵循https://gist.github.com/n3dst4/b932117f3453cc6c56be链接,因此能够成功重命名整个解决方案。
重命名网站:
http://www.c-sharpcorner.com/Blogs/46334/rename-website-project-in-visual-studio-2013.aspx
找到并编辑IISExpress的applicationhost.config,位于以下位置:C:\ Users {用户名} \ Documents \ IISExpress \ config