我当前重命名项目文件夹的解决方案是:
从解决方案中删除项目。在Visual Studio外部重命名文件夹。将项目重新添加到解决方案中。
有更好的方法吗?
我当前重命名项目文件夹的解决方案是:
从解决方案中删除项目。在Visual Studio外部重命名文件夹。将项目重新添加到解决方案中。
有更好的方法吗?
当前回答
我经常遇到在VisualStudio中重命名项目并编辑文件夹名、项目名和.sln文件以实现这一点的问题。我刚刚写了一个VBScript脚本来完成这一切。您必须小心选择要替换的字符串。
您只需将.vbs文件与解决方案的.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
其他回答
我执行了以下操作:
<创建整个文件夹的备份>
在Visual Studio 2013中重命名项目(可选/不需要)。将项目导出为模板。关闭解决方案。重新打开解决方案从保存的模板创建项目并使用您喜欢的名称。从解决方案资源管理器中删除上一个项目。
此时,我试图编译新的解决方案,为此,我必须手动将一些资源和标题从旧项目文件夹复制到新项目文件夹。这样做,直到编译时没有错误。现在,这个新项目将“.exe”文件保存到上一个文件夹中*
所以->
转到Windows资源管理器,手动将解决方案文件从旧项目文件夹复制到新项目文件夹。关闭解决方案,然后从新项目中打开解决方案。如果需要,将配置更改回(x64)。从解决方案的文件夹中删除具有旧名称的项目文件夹。
当必须创建新项目,并且您希望使用与项目名称不同的项目文件夹名称时,也会出现类似的问题。
创建新项目时,它将存储在
./path/to/pro/ject/YourProject/YourProject.**proj
假设您希望将其直接保存在ject文件夹中:
./path/to/pro/ject/YourProject.**proj
我的解决方法是以路径的最后一部分作为名称创建项目,这样就不会创建额外的目录:
./path/to/pro/ject/ject.**proj
当您现在从Visual Studio中重命名项目时,无需离开Visual Studio即可实现目标:
./path/to/pro/ject/YourProject.**proj
这种方法的缺点是,还必须调整默认名称空间和Output二进制文件的名称,并且必须更新项目模板中包含的所有文件中的名称空间。
这在Visual Studio 2015中很简单(可能适用于旧版本)
在解决方案资源管理器中,右键单击主解决方案→ 重命名在解决方案资源管理器中,右键单击项目(在解决方案下)→ 重命名在解决方案资源管理器中,双击或右键单击财产→ 转到应用程序选项卡,重命名程序集名称和默认名称空间以匹配。如果还希望重命名命名空间,请打开一个类文件。右键单击名称空间→ 重命名。。。。这将在整个项目中搜索并替换对命名空间的所有引用。关闭项目→ 重命名项目文件夹。在记事本中编辑.sln文件,并将路径更改为csproj,即fu\bar.csproj→ bar\bar.csproj。
在anderjanmyr的回答中,首先重命名项目更容易。
重命名项目。关闭解决方案(保存)。在Visual Studio外部重命名文件夹。打开解决方案,忽略警告。浏览所有不可用的项目,并将属性“文件路径”设置为项目文件的新位置,即someproject.csproj。重新加载项目。
此外,执行这些步骤后,您可能需要将其他引用重命名为旧项目名称。
在项目财产中,更新程序集名称和默认命名空间。
这将更新项目文件中的以下内容。。。
<RootNamespace>SomeProjectName</RootNamespace>
<AssemblyName>SomeProjectName</AssemblyName>
…并将消除错误“命名空间与文件位置不对应,应为:'SomeProjectName'”
重命名根命名空间(如果您有ReSharper,请右键单击命名空间并转到Refactor->Rename)。
更改AssemblyInfo.cs中旧项目名称的所有引用。
经验证的Visual Studio扩展for Data Tools for Business Intelligence(SSDT-BI 2013)解决方案:
将Project文件夹移动到其新位置(暂时不重命名任何内容)在解决方案资源管理器中,重命名项目/解决方案。关闭(并保存)新重命名的项目。重命名项目的文件夹和.sln文件。使用文本编辑器打开新重命名的项目解决方案文件(.sln)(我使用了Notepad++)在第6行中,您将看到:“Project{fdjfksdk4387!…}=”OLDPROJECT“,”OLDFOLDER\OLDPROJECT.rptproj“。使用步骤4中使用的新名称重命名所有内容。(即…=“NEWPROJECT”,“NEWFOLDER\NEWPROJECT.rptproj”…)就是这样!
它经过了100%的测试,在我的案例中运行得非常完美。
注意:我无法确认它是否适用于不同的项目模板和其他Visual Studio版本。一如既往,事先备份所有内容。