【问题标题】:How Can I Change the Rename my Project File and Class files in a smooth way with Visual Studio?如何使用 Visual Studio 顺利更改重命名项目文件和类文件?
【发布时间】:2012-08-05 17:04:36
【问题描述】:

我终于完成了我的 ASP.NET Web 应用程序,我的解决方案包含三个项目:Web 应用程序本身、WCF 和 Classlibrary。但我想重构它以更改类名、项目名等。我怎样才能以一种流畅的方式做到这一点,这样一切都不会搞砸,比如命名空间等。我也有 Resharper,但我是新手.

当我重命名我的项目文件和 .csproj 等时,我仍然遇到命名空间问题,新命名空间不起作用,它要求使用旧命名空间。

提前致谢!

【问题讨论】:

  • 我已经成功地在解决方案中的所有文件上使用了查找/替换(VS 之外)。
  • 您可能想看看 Adjust Namespaces 功能:jetbrains.com/resharper/webhelp/…

标签: c# visual-studio-2010 refactoring resharper rename


【解决方案1】:

据我所知,没有一种简化的方法可以满足您的所有要求。正如 jbkkd 所提到的,重命名类很容易,但您将面临以下挑战:

  • 类文件名 - 从源文件重命名类不会重命名 *.cs 文件名以匹配(如果文件已打开以进行编辑并且您从解决方案资源管理器重命名,它应该要求您重命名类)
  • 您可以从解决方案资源管理器重命名项目名称,但这不会自动重命名代码中的命名空间或解决方案中的物理文件夹名称(项目文件所在的位置)
  • 根据 ASP.NET 应用程序的类型,可能有自动生成的文件和/或代码隐藏文件可能没有更改其类和/或命名空间名称;例如,如果您更改 Global.asax.cs 文件中的类名或命名空间,您还必须在 Global.asax 文件中进行更改,因为它不会自动完成

ReSharper 将帮助重命名类和命名空间等,但您仍然需要手动清理内容,并且根据您的解决方案有多大,它本身可能是一个项目。

【讨论】:

    【解决方案2】:

    右键单击类/对象名称(在文件中)> 重构 > 重命名。

    它会询问您是否也想预览,以便您知道哪些发生了变化,哪些没有发生变化。

    【讨论】:

    • 当我单击类/对象名称然后单击重构时,我没有看到选项重命名。我只看到以下选项:调整命名空间、移动、安全删除和将类型移动到匹配文件中
    • 不,打开文件后 - 右键单击​​代码行中的类名称,其中显示:public class THECLASS
    • 如果我想重命名项目文件名,我该怎么做?
    • 我不确定 resharper,但如果没有它,您将不得不手动更改对项目的引用。
    猜你喜欢
    • 2023-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-03
    • 2011-12-31
    • 1970-01-01
    相关资源
    最近更新 更多