Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 在VisualStudio中重命名解决方案(和目录)的正确方法_Visual Studio - Fatal编程技术网

Visual studio 在VisualStudio中重命名解决方案(和目录)的正确方法

Visual studio 在VisualStudio中重命名解决方案(和目录)的正确方法,visual-studio,Visual Studio,我有一个相当复杂的VisualStudio解决方案(2010年,但这不重要),我需要重命名 我想重命名文件夹以匹配新的解决方案名称,但我无法找到一种自动重构文件夹名称的方法,而且遍历每个项目文件都会很痛苦 有没有一个官方的方法可以做到这一点?或者,有没有免费的工具来实现这一点?Visual Studio中的重命名操作只会更改文件名,例如,对于项目,*.prj,对于解决方案,*.sln。您需要使用文件系统单独重命名文件夹,并且需要删除并重新添加项目,因为它们将有新的文件夹名称。但是,请注意,解决方

我有一个相当复杂的VisualStudio解决方案(2010年,但这不重要),我需要重命名

我想重命名文件夹以匹配新的解决方案名称,但我无法找到一种自动重构文件夹名称的方法,而且遍历每个项目文件都会很痛苦


有没有一个官方的方法可以做到这一点?或者,有没有免费的工具来实现这一点?Visual Studio中的重命名操作只会更改文件名,例如,对于项目,*.prj,对于解决方案,*.sln。您需要使用文件系统单独重命名文件夹,并且需要删除并重新添加项目,因为它们将有新的文件夹名称。但是,请注意,解决方案和项目文件分别是文本文件和xml文件。您可以编写自己的程序,对其进行解析,重命名文件夹名、文件名,并在内部修复项目/解决方案文件。

删除bin和obj子文件夹以删除大量不正确的引用,然后使用windows搜索旧名称


编辑找到的任何代码或xml文件并重建,现在应该可以了。

删除/添加项目文件方法

此方法完全用于重命名项目的目录,如在Windows资源管理器中所示

  • 使用GIT、SVN或WinZip之类的东西备份整个项目(很重要!)
  • 在Visual Studio中的解决方案中,删除该项目
  • 在Windows资源管理器中重命名该目录
  • 在VisualStudio中重新添加项目
  • 优势

    • 您可以使Windows资源管理器中的目录与解决方案中的项目名称匹配
    缺点

    • 如果删除库,则会从其他项目中删除对所述库的任何引用。解决方案可能不会在此之后编译,直到您将对所述库的引用添加回(这非常容易)。这就是为什么步骤1(备份)如此重要的原因

    • 如果有源代码管理,则会丢失文件的历史记录

    右键单击项目并选择“在Windows资源管理器中打开文件夹”有助于在执行此过程时跟踪项目的存储位置。

    手动编辑.sln文件

    此方法完全用于重命名项目的目录,如在Windows资源管理器中所示

    此方法不会遇到下面的删除/添加项目文件方法中的问题(引用消失),但如果您的项目受源代码管理,则可能会导致问题(请参见下面的注释)。这就是为什么第2步(备份)如此重要的原因

  • 关闭VisualStudio
  • 创建.sln文件的备份(您可以随时回滚)
  • 假设您想将目录
    Project1
    重命名为
    Project2
  • 如果不使用源代码管理,请使用Windows资源管理器将文件夹从
    Project1
    重命名为
    Project2
  • 如果使用源代码管理,请使用源代码管理提供的功能将文件夹从
    Project1
    重命名为
    Project2
    。这将保留文件的历史记录。例如,使用
    TortoiseSVN
    ,右键单击文件,选择
    TortoiseSVN。。重命名
  • 在.sln文件中,使用如下文本编辑器将
    Project1
    的所有实例编辑为
    Project2
  • 重新启动VisualStudio,一切都将像以前一样工作,但项目位于不同的目录中
  • 你也可以看到或

    优势

    • 您可以使Windows资源管理器中的目录与解决方案中的项目名称匹配
    • 此方法不会从其他项目中删除对此文件的任何引用(与删除/添加项目文件方法相比,此方法具有优势,请参见下面我的其他答案)
    警告

    • 在重命名任何内容之前,将所有内容备份到.zip文件中是很重要的,因为这种方法可能会造成源代码管理问题
    • 如果您的项目受源代码管理,则如果重命名文件或 源代码管理之外的目录(使用Windows资源管理器)如果可以,最好使用源代码管理框架本身重命名该文件,以保留该文件的历史记录(右键单击可查看上下文菜单-它可能具有重命名该文件的功能)
    更新2014-11-02

    ReSharper添加了一个自动化方法,以实现与上述手动方法相同的结果。如果名称空间的下划线为弯曲的蓝线,请单击“动作金字塔”图标:

    • 重命名命名空间以匹配Windows资源管理器中的目录名,或
    • 重命名Windows资源管理器中的目录以匹配命名空间
    在第二种情况下,最后一个单词在Windows资源管理器中定义了新的目录名,例如,如果我们将名称空间更改为
    ViewModel2
    ,它将提供将文件移动到文件夹
    ViewModel2

    但是,这不一定会更新源代码管理中的文件,因此您可能仍然必须使用手动方法

    更新2018-01-31

    使用Visual Studio 2008、2010、2012、2013、2015、2017更新1、2、3、4、5进行测试

    更新2020-05-02

    使用Visual Studio 2019进行测试。

    使用记事本++的“在文件中查找”功能对我来说效果很好(ctrl+H,在文件中查找)


    您还可以导出模板,然后根据导出的模板创建一个新项目,并根据需要更改名称

    您可以:

  • 单击文件->新建->从现有项目创建项目

  • 选择您的原始文件,例如解决方案1和inpu
    [assembly: AssemblyTitle("HelloWorld.ui")]
    [assembly: AssemblyDescription("")]
    [assembly: AssemblyConfiguration("")]
    [assembly: AssemblyCompany("Microsoft")]
    [assembly: AssemblyProduct("HelloWorld.ui")]
    [assembly: AssemblyCopyright("Copyright © Microsoft 2015")]
    [assembly: AssemblyTrademark("")]
    [assembly: AssemblyCulture("")]