6

私はついにASP.NETWebアプリケーションを使い終えました。私のソリューションには、Webアプリケーション自体、WCF、およびClasslibraryの3つのプロジェクトが含まれています。しかし、クラス名やプロジェクト名などを変更するためにリファクタリングしたいと思います。名前空間など、すべてが台無しにならないように、これをスムーズに行うにはどうすればよいですか。Resharperもありますが、これは初めてです。 。

プロジェクトファイルや.csprojなどの名前を変更しても、名前空間に問題があります。新しい名前空間が機能せず、古い名前空間を要求されます。

前もって感謝します!

4

2 に答える 2

2

クラス/オブジェクト名(ファイル内)>リファクタリング>名前の変更を右クリックします。

何が変更され、何が変更されないかがわかるように、プレビューするかどうかも尋ねられます。

于 2012-08-08T14:47:12.427 に答える
0

私の知る限り、あなたが求めていることすべてを行うための合理化された方法はありません。jbkkdが述べたように、クラスの名前を変更するのは簡単ですが、次の問題が発生します。

  • クラスファイル名-ソースファイルからクラスの名前を変更しても、一致するように* .csファイル名の名前は変更されません(ファイルが編集用に開いていて、ソリューションエクスプローラーから名前を変更した場合は、クラスの名前を変更するように求められます)
  • ソリューションエクスプローラーからプロジェクト名の名前を変更できますが、コード内の名前空間やソリューション内の物理フォルダー名(プロジェクトファイルが含まれている場所)の名前は自動的に変更されません。
  • ASP.NETアプリケーションの種類によっては、自動生成されたファイルやコードビハインドファイルがあり、クラスや名前空間の名前が変更されていない可能性があります。たとえば、Global.asax.csファイルのクラス名または名前空間を変更した場合、Global.asaxファイルも自動的に変更されないため、変更を加える必要があります。

ReSharperは、クラスや名前空間の名前変更などを支援しますが、それでも手動でクリーンアップする必要があり、ソリューションの大きさによっては、それ自体がプロジェクトになる可能性があります。

于 2012-08-08T15:16:19.117 に答える