[解決済み】Visual Studioでソリューション(およびディレクトリ)の名前を変更する正しい方法
質問
私は、名前を変更する必要があるかなり複雑なVisual Studioソリューション(2010、しかしそれは問題ではないはずです)があります。
新しいソリューション名に合わせてフォルダ名を変更したいのですが、フォルダ名を自動的にリファクタリングする方法が分からず、プロジェクトファイルを一つ一つ見ていくのは骨が折れそうです。
このような公式な方法はあるのでしょうか?あるいは(できればあまり望ましくないのですが)、これを実現する無料のツールはありますか?
どのように解決するのですか?
.slnファイルを手動で編集する
この方法は、完全にWindowsエクスプローラで見たプロジェクトのディレクトリ名を変更することを目的としています。
の問題点はありません。 プロジェクトファイルの削除・追加方法 しかし、プロジェクトがソース管理下にある場合、問題が発生する可能性があります(以下の注意を参照)。そのため、ステップ2(バックアップ)は非常に重要です。
- Visual Studioを終了します。
- .slnファイルのバックアップを作成します(いつでもロールバック可能です)。
-
ディレクトリの名前を変更する場合を想像してください
Project1
からProject2
. -
ソースコントロールを使用していない場合は、フォルダ名を
Project1
からProject2
をWindowsエクスプローラで実行します。 -
ソース管理システムを使用している場合は、フォルダ名を
Project1
からProject2
をソースコントロールが提供する関数を使って実行します。これにより、ファイルの履歴が保存されます。たとえばTortoiseSVN
を選択し、ファイル上で右クリックしTortoiseSVN .. Rename
. -
.slnファイルで、すべての
Project1
に変更する。Project2
のようなテキストエディターを使って メモ帳 . - Visual Studioを再起動すると、プロジェクトが別のディレクトリにある状態で、すべてが以前と同じように動作します。
また ソリューションの名前を手動で変更する または この手動プロセスを説明する投稿 .
メリット
- Windowsエクスプローラ内のディレクトリを、ソリューション内のプロジェクト名と一致させることができます。
- この方法は ではない は、他のプロジェクトからこのファイルへの参照をすべて削除します (これは プロジェクトファイルの削除/追加 メソッド、以下の私の別の答えを参照してください)。
注意事項
- この方法は、ソース管理で問題を引き起こす可能性があるため、名前を変更する前にすべてを.zipファイルにバックアップすることが重要です。
- プロジェクトがソース管理下にある場合、ファイル名やファイル名を変更すると、問題が発生することがあります。 ディレクトリを、ソースコントロールの外側で(Windowsエクスプローラを使用して)使用することができます。 ソースコントロールフレームワーク自体を使用してファイル名を変更することが望ましいです。 可能であれば、そのファイルの履歴を保持するために(右クリックのコンテキストメニューをチェックしてください。)
更新情報 2014-11-02
ReSharperは、上記の手動による方法と同じ結果を得るための自動化された方法を追加しました。名前空間に青い下線が引かれている場合、アクションピラミッドのアイコンをクリックすると、どちらかになります。
- Windowsエクスプローラでディレクトリ名と一致するように名前空間を変更する、または。
- Windowsエクスプローラでディレクトリ名を名前空間と一致するように変更する。
2つ目のケースでは、最後の単語がWindowsエクスプローラでの新しいディレクトリ名を定義しています。
ViewModel2
に移動させることを提案します。
ViewModel2
.
ただし、この方法ではソース管理上のファイルは必ずしも更新されないので、やはり手動で行う必要があるかもしれません。
更新日 2018-01-31
Visual Studio 2008、2010、2012、2013、2015、2017 Update 1、2、3、4、5でテストしました。
2020-05-02更新
Visual Studio 2019でテストしました。
2021-11-19更新
再テストしました。まだ動作します。
関連
-
[解決済み] Visual Studioで不整合な行末を正規化するとはどういう意味ですか?
-
[解決済み] Visual StudioからPerfwatson2.exeを無効化する方法
-
[解決済み] ルナスエラー。パスワードが取得できません
-
[解決済み] Visual Studioのデバッグ/ロードが非常に遅い
-
[解決済み] Windows 8でVisual Studioを常にAdministratorとして実行するように強制することはできますか?
-
[解決済み] Visual Studio の .suo と .user ファイルをソースコントロールに追加する必要がありますか?
-
[解決済み] Visual Studioソリューションのコード行数はどのように数えるのですか?
-
[解決済み] Visual Studioからプロジェクトフォルダの名前を変更するにはどうすればよいですか?
-
[解決済み] Visual Studio CodeとVisual Studioの違いは何ですか?
-
[解決済み】Visual Studioでコードを自動フォーマットする方法とは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] システムトレイにあるvshub.exeとは何ですか?
-
[解決済み] MSBuildExtensionsPath32が正しく設定されていない?
-
[解決済み] Visual Studio 2013 ソリューションを Visual Studio 2015 にアップグレードする。
-
[解決済み] Visual Studioでデバッグすると、"file is used by another process "というエラーが発生するのですが?
-
[解決済み] Visual Studioでデバッグを行う際、特定の環境変数を設定するにはどうすればよいですか?
-
[解決済み] Visual Studio Express 2005はどこでダウンロードできますか?[クローズド]
-
[解決済み] Visual Studioからプロジェクトフォルダの名前を変更するにはどうすればよいですか?
-
[解決済み] "Entire Solution "の検索が効かなくなる。
-
[解決済み】Visual Studioでドキュメント間を移動する際のCtrl + Tabの動作を変更する。
-
[解決済み】ソリューションエクスプローラーで、開いているタブからファイルを自動選択する。