762

プロジェクトフォルダーの名前を変更するための私の現在の解決策は次のとおりです。

  • プロジェクトをソリューションから削除します。
  • Visual Studio 以外でフォルダーの名前を変更します。
  • プロジェクトをソリューションに再度追加します。

より良い方法はありますか?

4

39 に答える 39

819

TFS ユーザー:ファイル/フォルダーの名前を変更する前に警告する必要があるソース管理を使用している場合は、必要な追加の手順をカバーする代わりにこの回答を参照してください。


Visual Studio でプロジェクトのフォルダーファイル( .*proj)、および表示名の名前を変更するには:

  • ソリューションを閉じます。
  • Visual Studio 以外でフォルダーの名前を変更します。(ソース管理を使用している場合は TFS で名前を変更します)
  • 警告を無視してソリューションを開きます (ソース管理からプロジェクトを読み込むように求められた場合は、「いいえ」と答えてください)。
  • 利用できないすべてのプロジェクトを調べて...
    • プロジェクトのプロパティウィンドウを開きます (プロジェクトを強調表示してAlt+Enterまたはを押すかF4、右クリックして [プロパティ] を選択します)。
    • プロパティ ' File Path ' を新しい場所に設定します。
      • プロパティが (Visual Studio 2012 のように) 編集できない場合は、Notepad++.slnなどの別のエディターでファイルを直接開き、代わりにそこでパスを更新します。(最初に TFS などでソリューションをチェックアウトする必要がある場合があります)。
    • プロジェクトをリロードします - 右クリック > プロジェクトをリロードします。
    • プロジェクトを強調表示して を押すF2か、右クリック >名前の変更 を選択して、プロジェクトの表示名を変更します。

注:プロジェクトを削除してからソリューションに再度追加することを含む他の提案されたソリューションは、プロジェクトの参照を壊します。

これらの手順を実行する場合は、一致するように次の名前を変更することも検討してください。

  1. 組み立て
  2. デフォルト/ルート名前空間
  3. 既存のファイルの名前空間 (Visual Studio のリファクタリング ツールまたはReSharper の一貫性のない名前空間ツールを使用)

次のアセンブリ属性の値を変更することも検討してください。

  1. AssemblyProductAttribute
  2. AssemblyDescriptionAttribute
  3. AssemblyTitleAttribute
于 2008-10-22T07:55:49.810 に答える
143

これは、Visual Studio 2015 では簡単です(古いバージョンでも動作する可能性があります)。

  1. ソリューション エクスプローラーで、メイン ソリューションを右クリック→名前の変更
  2. ソリューション エクスプローラーで、プロジェクト(ソリューションの下)を右クリック→名前の変更
  3. ソリューションエクスプローラーで、プロパティをダブルクリックするか、右クリックして [アプリケーション] タブに移動し、アセンブリ名既定の名前空間を一致するように名前変更します。
  4. 名前空間の名前も変更したい場合は、クラス ファイルの 1 つを開きます。名前空間を右クリック → 名前の変更... . これにより、プロジェクト全体で名前空間へのすべての参照が検索され、置き換えられます。
  5. プロジェクトを閉じる →プロジェクト フォルダの名前を変更します。
  6. Notepad.slnでファイルを編集し、パスを csproj に変更します (例: → ) 。fu\bar.csprojbar\bar.csproj
于 2015-10-18T08:42:06.270 に答える
110

*.sol、*csproj ファイルを使用してこれを行う別の方法があります。

  1. ソリューション ファイルを開きます。
  2. 変更する *.csproj を検索します。
  3. 次のようになります (*.sol ファイルに対して):

    Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Shani.Commands.Impl", "Shani.Commands.Impl\Shani.Commands.Impl.csproj", "{747CFA4B-FC83-419A-858E-5E2DE2B948EE}"

  4. たとえば、最初の部分を新しいディレクトリに変更するだけです。

    Impl\Shani.Commands.Impl\Shani.Commands.Impl.csproj

  5. もちろん、プロジェクト全体をそのディレクトリに移動することを忘れないでください。

于 2008-10-17T07:05:02.880 に答える
54

男、私はこれに苦労しましたか。残念ながら、Visual Studio にはワンクリック ソリューションはありませんが、Visual Studio 2012を実行していて、プロジェクトがTeam Foundation Serverでソース管理されている場合、ソースの履歴を保持しながら、次のように機能させることができます。

(手順 5 ~ 10 をスキップできると彼が指摘しているため、以下の @mjv のコメントを必ずお読みください)

  1. すべての変更をチェックインして、保留中の変更がないことを確認してください。
  2. 右クリックして [削除] を選択し、ソリューションからプロジェクトを削除します。
  3. ここで、Windows エクスプローラーで、プロジェクト フォルダーの名前を変更します。
  4. Visual Studio に戻り、ソリューション エクスプローラーでソリューションを右クリックし、 [追加] -> [既存のプロジェクト] を選択します。手順 2 で削除したプロジェクトのプロジェクト ファイルを選択します。このファイルは、名前が変更されたフォルダーにある必要があります。
  5. これでプロジェクトはソリューションに戻りましたが、プロジェクトはソース管理に追加されていないようです。これを修正するには、ソース管理エクスプローラーを開きます。
  6. ソース管理エクスプローラーで、手順 3 で名前を変更したディスク上のプロジェクト フォルダーに対応するプロジェクト フォルダーを見つけます。
  7. ソース管理エクスプローラーでフォルダーの名前を変更し、ディスク上のプロジェクト フォルダーと同じ名前になるようにします。
  8. 保留中の変更を見てみましょう。ソリューション ファイルに変更を加え、プロジェクト フォルダーで名前の変更操作を行う必要があります。
  9. 再構築を行い、すべてが正しくコンパイルされることを確認します。名前を変更したプロジェクトへのプロジェクト間参照があった場合は、それを参照した個々のプロジェクトにそれらを再度追加する必要があります。
  10. これで準備完了です。行って、すべてをチェックインしてください。

上記のガイドは私にとってはうまくいきました。うまくいかない場合は、ローカル ソリューションを完全に削除してみて、ワークスペースのフォルダー マッピングを削除してください。念のため Visual Studio を再起動してください。コンピューターからソリューション全体を実際に削除したことを確認してください。ワークスペースへのソリューション マッピングを読み込んで、最新バージョンを取得します。上記の手順を試してください。上記の手順を実行中に問題が発生した場合も同様です。ソリューションをローカルで削除し、最新のソースを取得するだけで、白紙の状態で作業できます。

それでも問題が解決しない場合は、ソリューション ファイルを手動で変更していないことを確認するか、上記の手順を試す前に他の「トリック」を試してください。何かを変更してチェックインした場合は、プロジェクトの名前変更をいじり始める直前までロールバックすることを検討してください。

もちろん、ソリューション エクスプローラーでプロジェクト自体の名前を変更することもできます。上記の手順の前にこれを行うことができますが、その場合は、上記の手順を適用する前に、その変更をチェックインしてください。後で行うこともできますが、最初に上記のすべての手順に従い、ソリューション エクスプローラーでプロジェクト名の名前を変更する前に、変更をチェックインしてください。上記の手順とソリューション エクスプローラーでのプロジェクト名の変更を組み合わせることはお勧めしません。うまくいくかもしれませんが、2 つの別々の変更セットで行うことをお勧めします。

于 2013-06-13T15:22:42.930 に答える
34

現在、いいえ。実際には、壊れたプロジェクト ノードをクリックして、プロパティ ペインでプロパティ 'Path' を探し、小さな参照アイコンをクリックして、新しいパスを選択します。

ほら:)

于 2008-10-17T06:52:57.227 に答える
11

andersjanmyr の回答では、最初にプロジェクトの名前を変更する方が簡単です。

  1. プロジェクトの名前を変更します。
  2. ソリューションを閉じます (保存します)。
  3. Visual Studio 以外のフォルダーの名前を変更します。
  4. 警告を無視してソリューションを開きます。
  5. 使用できないすべてのプロジェクトを調べて、プロパティ 'File Path' をプロジェクト ファイルの新しい場所、つまりsomeproject.csprojに設定します。
  6. プロジェクトをリロードします。

また、これらの手順を実行した後、他の参照の名前を古いプロジェクト名に変更することもできます。

プロジェクト プロパティで、アセンブリ名と既定の名前空間を更新します。

これにより、プロジェクト ファイル内の以下が更新されます...

<RootNamespace>SomeProjectName</RootNamespace>
<AssemblyName>SomeProjectName</AssemblyName>

...そして、「名前空間がファイルの場所に対応していません。「SomeProjectName」にする必要があります」というエラーを取り除きます

ルート名前空間の名前を変更します (ReSharper を使用している場合は、名前空間を右クリックして [リファクタリング] -> [名前の変更] に移動します)。

AssemblyInfo.cs内の古いプロジェクト名をすべて変更します。

于 2010-06-30T06:18:16.547 に答える
8

Visual Studio 2017 の場合、私の Visual Studio 拡張機能を使用できます。

ダウンロード

プロジェクトの名前が次の場所に変更されます。

  • プロジェクトの場所のフォルダー
  • ソリューション ファイル
  • 他のプロジェクトでの参照
  • アセンブリ名、情報
  • デフォルトの名前空間
于 2017-05-29T06:15:45.140 に答える
7

これは自分で行う必要がありました(Visual Studio 2010を使用)。一部の人々が答えたように、最も簡単なステップは次のようです:

  1. VisualStudioプロジェクトを閉じます。
  2. .slnファイルを開き、.csprojオカレンスごとにプロジェクトディレクトリプレフィックスの名前を変更します。
  3. .slnファイルを保存します
  4. .slnファイルの変更に一致するように、ハードドライブ上の実際のプロジェクトフォルダディレクトリの名前を変更します。
  5. (Visual Studioで).slnを開き、再構築します
于 2011-02-22T17:33:39.273 に答える
4

リンク先の記事の項目3を参照してください


  1. ソリューションとIDEを閉じます。
  2. Windowsエクスプローラの場合:ディレクトリ名を新しい名前に変更します。
  3. Windowsエクスプローラーの場合:テキストエディターで.slnファイルを開きます。
  4. ディレクトリ名を新しい名前に変更して保存します。
  5. IDEを再起動し、自動的に起動しない場合は、メニュー[ファイル] → [最近使用したファイル]メニューからソリューションを開きます。
  6. ソリューションエクスプローラーでプロジェクトフォルダーをクリックし、下部のプロパティでパスプロパティを確認します。これで、新しいプロジェクトフォルダを参照するようになります。

それは私のために働いた。

于 2010-10-21T06:45:06.133 に答える
2

: この修正は Visual Studio 2008 用ですが、ここでも機能するはずです。

  1. Windows エクスプローラーを使用して、両方のソリューション フォルダー (親フォルダーと子フォルダー) の名前を新しいソリューション名に変更します。
  2. .sln親フォルダーにあるファイルを削除します。
  3. Visual Studio で、メニューの[ファイル] ► [プロジェクトを開く] を選択します。
  4. 名前を変更したばかりの新しいフォルダーにドリルインし、(子フォルダーにある) .csproj ファイルを開きます。
  5. プロジェクト名を右クリックして、必要な名前に変更します。(手順 1 のフォルダーと同じ名前にする必要があります。)
  6. メニューファイルソリューションを閉じるを選択します。変更をファイルに保存するかどうかを尋ねるダイアログが表示され.slnます。をクリックしYesます。
  7. [名前を付けてファイルを保存]ダイアログで、新しく名前を変更したフォルダーをポイントし、 [保存] をクリックします。(注:.slnファイルがフォルダーと同じ名前であることを確認してください。必須ではありませんが、一貫性が維持されます。)

終わり。

于 2010-06-23T06:52:25.117 に答える
2

これらすべてのステップを自動化する小さなツールを作成しました。今のところSubversionもサポートしています。

現在のリリースに関する情報は、Visual Studio Project Renamer Infosにあります。

最新リリースは、 Visual Studio Project Renamer Download Pageからダウンロードできるようになりました。

フィードバックをお待ちしております。

于 2011-08-21T15:27:50.373 に答える
1

TFSを使用する場合、ステップ2は、実際にはソース管理でフォルダーの名前を変更し、ソリューションを再度開く前に最新のものを取得することです。

于 2012-10-12T13:11:31.167 に答える
1
  1. Visual Studio 以外でプロジェクトの名前を変更します。
  2. Edit your_project_name.sln with a text editor, and rename the path to the new path.
于 2015-08-20T15:52:22.573 に答える
1

Visual Studio 2013 Update 1 でテストされ、TFS 接続プロジェクトに適用できる、より単純なアプローチがあります。

  • Visual Studio を開きますが、ソリューションは閉じたままにします。
  • ソース エクスプローラーを開き、目的のフォルダーの名前を変更します (最初にソリューションを閉じていない場合は、ソリューションが自動的に閉じられます)。
  • (ソース エクスプローラーからも) ソリューションを右クリックし、チェックインを選択します。
  • ソリューションを開きます。新しいプロジェクトが追加されたことが通知されます。同意して変更を取得します。
  • ソリューションからプロジェクトを削除して再度追加し、チェックインします。
  • 内部参照に問題がないことを確認してください。
于 2014-04-29T17:05:29.817 に答える
1

まあ、私は私のやり方でやった

  • Visual Studio 2012 を閉じる
  • サブディレクトリの名前を .sln の下の優先する名前に変更します
  • *.suo ファイルを削除します
  • ソリューションを再度開き、読み込まれたプロジェクトのプロパティを修正して、新しいサブディレクトリ名に合わせます。
于 2015-04-09T09:12:28.273 に答える
0

フォルダー名を変更したら、メモ帳で.sln ファイルを開き、パスを新しいパスに変更します。

于 2013-03-18T20:38:44.200 に答える
0

新しいプロジェクトを作成する必要があり、プロジェクト名とは異なるプロジェクト フォルダー名が必要な場合にも、同様の問題が発生します。

新しいプロジェクトを作成すると、次の場所に保存されます

./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

このアプローチの欠点は、デフォルトの名前空間と出力バイナリの名前も調整する必要があることと、プロジェクト テンプレートに含まれるすべてのファイルの名前空間を更新する必要があることです。

于 2013-08-23T23:27:14.020 に答える
0

最も簡単な方法は、ウィンドウのプロパティに移動し、デフォルトの名前空間の名前を変更してから、名前の変更を行うことです。

于 2015-07-22T12:34:21.673 に答える
0

または、すべてのコードをコピーし、目的の名前で新しいプロジェクトを開き、コードを貼り付けます。デバッグを実行してから、前のプロジェクトを削除します。終わり!

それは私のために働いた!

于 2018-09-23T03:27:44.390 に答える