我当前重命名项目文件夹的解决方案是:
从解决方案中删除项目。在Visual Studio外部重命名文件夹。将项目重新添加到解决方案中。
有更好的方法吗?
我当前重命名项目文件夹的解决方案是:
从解决方案中删除项目。在Visual Studio外部重命名文件夹。将项目重新添加到解决方案中。
有更好的方法吗?
当前回答
最简单的方法:
从当前项目创建模板项目->导出模板…->项目模板->完成使用所需名称的模板创建新项目文件->新建项目->查找模板->为其指定所需的名称->添加到现有解决方案或与新解决方案相同
就这样,你完成了,如果你想,你现在可以删除另一个项目,但首先要确保新的项目按预期工作。模板应保留所有依赖项和项目设置。
其他回答
在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版本。一如既往,事先备份所有内容。
当必须创建新项目,并且您希望使用与项目名称不同的项目文件夹名称时,也会出现类似的问题。
创建新项目时,它将存储在
./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二进制文件的名称,并且必须更新项目模板中包含的所有文件中的名称空间。
派对有点晚了,但在VS2022中,您建议的方式对我来说仍然是最简单的(我不喜欢直接编辑.sln文件)。
即:
从解决方案中删除项目。在外部重命名文件夹将项目重新添加到解决方案中。
例如,如果要将项目“HelloWorld”重命名为“HelloStackOverflow”。
在Visual Studio中:将项目从“HelloWorld”重命名为“HelloStackOverflow”在Visual Studio中:删除项目“HelloStackOverflow”在文件系统中:导航到文件夹:将“HelloWorld”重命名为“HelloStackOverflow”在Visual Studio中:在VS2022中添加现有项目“HelloStackOverflow”在Visual Studio中:如果此项目存在依赖项,则必须删除它们并将它们添加到新项目中。
还有另一种方法,使用*.sol,*csproj文件。
打开解决方案文件。搜索要更改的*.csproj。它将如下(相对于*.sol文件):项目(“{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}”)=“Shani.Commands.Impl”,“Shani.Orders.Impl\Shani.Commands.Impl.csproj”,“{747CFA4B-FC83-419A-858E-5E2DE2B948E}”只需将第一部分更改为新的目录,例如:Impl\Shani.Commands.Impl\Sani.Commands.Impl.cspoj当然,不要忘记将整个项目移动到该目录。