Visual Studio内からプロジェクトフォルダーの名前を変更するにはどうすればよいですか?


686

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

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

もっと良い方法はありますか?


4
簡単なワンクリックの方法はありません。とにかく、Visual Studio内からではありません。
Matt Hanson、

11
マイクロソフトが2010リリースでこれを修正するかどうか誰か知っていますか?
-Vidar

29
どうやらそうではありません。それは3年後のことであり、私は単にアンデルスヤンミルのプロセスを経なければならなかったからです。:)
sichinumi

4
Visual Studio機能のリクエスト:visualstudio.uservoice.com/forums/121579-visual-studio/…投票してください!
Tim Abell、2014年

2
2018年はまだ機能がサポートされていないため、投票は失敗したようです。ファイルを変更しないのに何ギガバイトかかりますか?どうやら17GB。17.
ジョセフフランシスカス

回答:


746

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


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

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

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

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

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

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

  1. AssemblyProductAttribute
  2. AssemblyDescriptionAttribute
  3. AssemblyTitleAttribute

24
ソース管理を使用している場合は、ソース管理のフォルダーの名前も変更する必要があると思います。私にとっては、上記の手順ではうまくいきませんでした。
Patrick Szalapski、2011年

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

3
フォルダーの名前が変更された(およびVSがプロジェクトを見つけられない)後、VS2010でファイルパスプロパティが編集可能になります
Jimmy

11
これはVS 2012では機能しませんでした。プロパティは読み取り専用です。.slnファイルをテキストとして開く必要がありました。
Grault

3
うわぁ!フォルダーの名前を変更するこのすべての問題!これはMS-DOSで簡単になりました!
Kokodoko、2015

96

* .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. もちろん、プロジェクト全体をそのディレクトリに移動することを忘れないでください。


16
これは、受け入れられた回答ではなく私にとっては機能しましたが、FilePathプロパティが読み取り専用であったため機能しませんでした。
TJKjaer 2013

1
おかげで、これは非常に役立ちました。また、RootNamespaceとAssemblyNameの値も必ず変更してください。
DevDave 2013年

@TJKjaer同じ。
dzenesiz

これはVS2019では機能しませんでした。プロジェクト参照が存在しないことに関する警告を表示し、参照プロジェクトに名前空間とクラスがないことに関するコンパイルエラーを表示します。
ジェフウォーカーコードレンジャー

これは、Visual Studio 2019でC#プロジェクトを使用して動作します。それはかなり単純な解決策です。コンパイル時に問題が発生する可能性がある場合は、コンパイルだけでなく、プロジェクトを完全に再構築することをお勧めします。
Silva

94

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

  1. ソリューションエクスプローラーで、メインソリューションを右クリック→ 名前の変更
  2. ソリューションエクスプローラーで、プロジェクト(ソリューションの下)を右クリック→ 名前の変更
  3. ソリューションエクスプローラーで、[ プロパティ ] → [ アプリケーションタブに移動]をダブルクリックまたは右クリックし、アセンブリ名デフォルトの名前空間を一致するように変更します
  4. 名前空間の名前も変更する場合は、クラスファイルの1つを開きます。右→名前空間をクリックし名前の変更...。これにより、プロジェクト全体でネームスペースへのすべての参照が検索および置換されます。
  5. プロジェクトを閉じる→ プロジェクトフォルダの名前を変更します
  6. メモ帳.slnファイルを編集し、csprojへのパスを変更します。つまり、→ です。fu\bar.csprojbar\bar.csproj

3
依存プロジェクト(ある場合)のプロジェクト参照を更新するのを忘れました。
Steven Liekens、2015年

1
@JohnPeters私が見る限り、この回答は編集されていません。手順5はフォルダーの名前の変更について説明しているため、これらの手順に従うと、実際に物理フォルダー名も変更されます。
フィリップストラトフォード

手順4をサブプロジェクトフォルダーに適用することを忘れないでください(手順6が機能するように、それは私にとって欠けている唯一の手順でした)。
フェリペグティエレス

54

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

(@mjvのコメントを必ず読んでください。ステップ5-10はスキップできると彼は言っています)

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

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

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

もちろん、ソリューションエクスプローラーでプロジェクト自体の名前を変更することもできます。上記の手順の前にこれを行うことができますが、その場合は、上記の手順を適用する前にその変更を確認してください。後で行うこともできますが、ソリューションエクスプローラーでプロジェクト名を変更する前に、まず上記のすべての手順を実行し、変更内容を確認してください。ソリューションエクスプローラーで、上記の手順とプロジェクト名の名前変更を混在させることはお勧めしません。うまくいくかもしれませんが、2つの異なるチェンジセットで実行することをお勧めします。


10
で機能する手順を紹介していただきありがとうございますVS2012!代わりにソリューションを閉じてからVS' Source Control Explorerではなく、内のフォルダーの名前を変更する場合は、手順5〜10(つまり、名前を変更したフォルダーをソース管理内に戻す必要がある)を回避できることに注意してくださいWindows Explorer
mjv 2013

2
これらの手順は終了しましたが、ソース管理エクスプローラー(SCE)で名前を変更する前にWindowsエクスプローラー(WE)でフォルダーの場所を変更すると、エラーが発生しましたFolder already exists。そのため、フォルダを再度名前WE変更して、SCEで変更し、機能する前にファイルをそのフォルダにコピーする必要がありました。上記のmjvからのコメントに従ってください。また、実際のプロジェクトファイル名(VSだけでなく)を変更する必要があるとは考えていませんでした。後から考えて、これらの手順のいくつかを繰り返しました。
CaptainBli 2014

mjvのコメントを使用したこのアプローチは、Perforceで右クリックして[名前の変更/移動]オプションを使用しても機能します。
サントス2014年

プロジェクトの参照を壊さないようにすることができます。stackoverflow.com/ a / 10853509/10245を
Tim Abell

@TimAbell VS2012でその手順を試してみましたが、うまくいきましたか?最初に回答を書く前に試してみましたが、[プロパティ]ウィンドウのプロジェクトパスは常に読み取り専用であるため、うまくいきませんでした。また、SLNファイルの編集も機能しませんでした。
ルネ

33

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

ボイラ:)


2
VS2015を使用すると、「アンロードされたプロジェクトのプロパティ」のプロパティ名は「ファイルパス」であり、値は編集も参照もできません。
ウィリアム

29

より簡単な解決策は次のとおりです。

  1. プロジェクトを右クリックして名前を変更します。
  2. (オプション)プロジェクトのプロパティ設定を開き、新しいプロジェクト名を使用するようにアセンブリ名(およびオプションでデフォルトの名前空間)を変更します。
  3. (オプション)ソースファイルで名前空間名を選択し、右クリックして[ リファクタリング / 名前の変更]を選択して、名前空間の名前を新しいプロジェクト名にグローバルに変更します。
  4. (オプション)AssemblyInfo.csファイルを開き、一致するようにアセンブリ名を変更します。
  5. ソリューションを保存して閉じます。
  6. Windowsエクスプローラを使用して、プロジェクトフォルダの名前を新しい名前に変更します。
  7. SLNファイルをテキストエディターで開き、プロジェクトパスへの参照を1つ見つけて、新しいフォルダー名を使用するように変更します。

必要な手順は4つありますが、推奨される手順は7つです。結局のところ、プロジェクトの名前は完全に変更されています。技術的には、プロジェクトのフォルダー名はプロジェクト自体と一致する必要はないため、そのステップもオプションですが、一致しない場合は混乱する可能性があります。アセンブリと名前空間の名前についても同じです。


代替手順7:VSでSLNファイルを開き、警告を無視して([OK]をクリック)、ソリューションエクスプローラーでプロジェクトを選択し、F4キーを押して、ファイルパスを更新します。オプションのステップ0:ソリューションを右クリックして名前を変更します。
Martin Schneider 2016年

6
信じられないほどMicrosoftが何かを作るのは難しい
Alex

1
これはVisual Studio Community 2017で私にとってはうまくいきました。受け入れられた答えは(私にとっては)うまくいきませんでした。変更が必要なプロパティは読み取り専用であり、プロパティダイアログで変更することはできません。
codeatty、

10

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

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

また、これらの手順を実行した後、他の参照の名前を古いプロジェクト名に変更したい場合があります。

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

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

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

...そして「名前空間はファイルの場所に対応していません。'SomeProjectName 'でなければなりません」というエラーを取り除きます。

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

AssemblyInfo.csで古いプロジェクト名のすべての出現箇所を変更します。


この回答に基づいて、プロジェクトへのパスが新しいパスになるようにソリューションファイルを手動で編集し、ソリューションを開く際の警告を回避できます。[プロジェクト]> [プロパティ]> [AssemblyInfo]をクリックして、VS内からアセンブリ情報を編集し、AssemblyInfo.csファイルを編集しないようにすることができます。
H2ONaCl 2014年

8

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

ダウンロード

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

  • プロジェクトの場所フォルダー
  • ソリューションファイル
  • 他のプロジェクトでの参照
  • 組立名・情報
  • デフォルトの名前空間

驚くばかり!過去に私がしなければならなかったすべての手動での名前変更にうんざりしています。うまくいきます。ただし、別のパッケージで文字列参照が見つかりませんでした。それが意図的なものかどうかはわかりません。
霜降りの素晴らしい

THX。しかし、「別のパッケージの文字列参照」を理解できませんでした。説明できますか?
Kuanysh 2017

だから私はテストプロジェクトを持っているし、私も持っている[assembly: InternalsVisibleTo("MyTests")]。のMyTests名前を変更しても、その参照の名前は変更されませんでした。繰り返しますが、これはあなたの権限の範疇に入らないと思います。手動で解決するのは簡単です。
霜降りの素晴らしい

1
この拡張機能は、フォルダーがプロジェクトと同じ名前を持っていることを前提としています(名前を変更する前)。それらが異なる場合、名前の変更は失敗します:(「名前空間の名前変更」も機能しませんでした。幸い、私はそれを非常に小さなソリューションでのみ使用しました。それ以外の場合は、素晴らしいです!
savehansson

1
@MassimilianoKraus最後の否定的なレビューのため、マーケットプレイスでの説明がないため、拡張機能をプライベートにします。そのために残念。リンクを更新しました
Kuanysh

6

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

  1. Visual Studioプロジェクトを閉じます。
  2. .slnファイルを開き、各.csprojオカレンスのプロジェクトディレクトリプレフィックスの名前を変更します。
  3. .slnファイルを保存する
  4. .slnファイルの変更と一致するように、ハードドライブ上の実際のプロジェクトフォルダディレクトリの名前を変更します。
  5. .slnを(Visual Studioで)開き、再ビルドします。

5

Visual Studio + Gitを使用していて、ファイル履歴を保持したい場合(プロジェクトとソリューションの両方またはいずれか一方の名前を変更できます):

  1. Visual Studioを閉じる

  2. .gitignoreファイルで、名前を変更するプロジェクトのすべての無視パスを、それらのパスの名前を変更したバージョンで複製します。

  3. 次のようにGit moveコマンドを使用します。

    git mv <old_folder_name> <new_folder_name>
    

    追加オプションのドキュメントを参照してください:https : //git-scm.com/docs/git-mv

  4. .slnファイル内:プロジェクトを定義する行を見つけ、パス内のフォルダー名を変更します。行は次のようになります。

    Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "<Project name>", "<path-to-project>\<project>.csproj"
    
  5. Visual Studioを開き、プロジェクトを右クリック→ 名前の変更

  6. その後、名前空間の名前を変更します。

    私はReSharperがこれのためのいくつかのオプションを持っていることを読みました。しかし、単純な検索/置換でうまくいきました。

  7. 古い.gitignoreパスを削除します。


4

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


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

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


4

Visual Studio 2017で私のために働いたもの:

  • Visual Studioのソリューションを閉じる
  • ソリューション内のプロジェクトのディレクトリの名前を変更します。
    • (ソース管理のプッシュ変更-私の場合はGit)
  • テキストエディター(Visual Studio 2017の外部)で.slnファイルを編集して、ディレクトリの名前を変更します。
  • Visual Studioでソリューションを再度開く

プロジェクトの再追加」のようなものでした。私はすべてを再構築し、すべてがうまくいった。


1
さらに、他のプロジェクトの依存関係から古いプロジェクトを削除し、新しく名前を変更したプロジェクトを新しい依存関係として再度追加する必要がある場合があります(古いプロジェクトを右クリック>>削除してから右クリックDependencies>> Add reference>>新しいプロジェクトを選択する)
maxshuty

4

私はこれを何度もしなければなりませんでした。既存のプロジェクトを再利用できることは本当に便利ですが、名前空間、ファイル、およびフォルダー(ファイル/ディレクトリ名を含む)内のテキストの名前を変更することができます。

ルートフォルダーから開始して再帰的な検索と置換を使用すると、名前の変更によってソリューションファイル内のプロジェクトとプロジェクト参照へのリンクが壊れません。

このため、私はこれを行うためのプロジェクトを作成しました。また、アプリケーションは、.git、.svn、.vs設定ファイルなどのバージョン管理フォルダーを無視しようとします。詳細については、READMEを参照してください。

https://github.com/garethrbrown/vs-project-rename

例


2
よくやった!プロジェクトは実際には名前変更ツールです。私は1つは本当に欠けていると思います:全単語一致オプション。
エリアフアーロン

4

ビジネスインテリジェンス向けデータツール(SSDT-BI 2013)用のVisual Studio拡張機能の実績あるソリューション:

  1. Projectフォルダを新しい場所に移動します(まだ何も名前を変更しないでください)
  2. ソリューションエクスプローラーで、プロジェクト/ソリューションの名前を変更します。
  3. 新しく名前を変更したプロジェクトを閉じます(そして保存します)。
  4. プロジェクトのフォルダと.slnファイルの名前を変更します。
  5. テキストエディターを使用して、新しく名前を変更したプロジェクトソリューションファイル(.sln)を開きます(私はNotepad ++を使用しました)
  6. 6行目には次のように表示されます: "Project {fdjfksdjk4387!...} =" OLDPROJECT "、" OLDFOLDER \ OLDPROJECT.rptproj "。手順4で使用した新しい名前ですべての名前を変更します(つまり... =" NEWPROJECT "、" NEWFOLDER \ NEWPROJECT.rptproj "...)
  7. それでおしまい!

それは100%テストされ、私の場合完璧に動作しました。

注:異なるプロジェクトテンプレートや他のバージョンのVisual Studioで動作するかどうかは確認できません。いつものように、事前にすべてをバックアップしてください。



2

Visual Studioでプロジェクトの名前を変更し、それを行うためにフォルダー名、プロジェクト名、.slnファイルを編集するという同じ問題がよくありました。私は、そのすべてを実現するVBScriptスクリプトを書いたところです。置換する文字列に注意する必要があります。

ソリューションの.slnファイルと同じディレクトリに.vbsファイルを配置するだけです。

' Script parameters'
Solution = "Rename_Visual_Studio_Project" '.sln'
Project = "Rename_Visual_Studio_Project" '.csproj'
NewProject = "SUCCESS"

Const ForReading = 1
Const ForWriting = 2

Set objFso = CreateObject("Scripting.FileSystemObject")
scriptDirr = objFso.GetParentFolderName(wscript.ScriptFullName)

' Rename the all project references in the .sln file'
Set objFile = objFso.OpenTextFile(scriptDirr + "\" + Solution + ".sln", ForReading)
fileText = objFile.ReadAll
newFileText = Replace(fileText, Project, NewProject)
Set objFile = objFSO.OpenTextFile(scriptDirr + "\" + Solution + ".sln", ForWriting)
objFile.WriteLine(newFileText)
objFile.Close

' Rename the .csproj file'
objFso.MoveFile scriptDirr + "\" + Project + "\" + Project + ".csproj", scriptDirr + "\" + Project + "\" + NewProject + ".csproj"

' Rename the folder of the .csproj file'
objFso.MoveFolder scriptDirr + "\" + Project, scriptDirr + "\" + NewProject

1

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

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

できました。


1

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



1

まあ、私はそれを自分のやり方でやった

  • Visual Studio 2012を閉じる
  • サブディレクトリの名前を.slnの下の適切な名前に変更します。
  • * .suoファイルを削除する
  • ソリューションを再度開き、読み込まれたプロジェクトのプロパティを修正して、新しいサブディレクトリ名に合わせます。

1
  1. ソリューションとプロジェクトフォルダー内のプロジェクトの名前を変更する

  2. ソリューションからプロジェクトを削除する

  3. 既存のプロジェクトをソリューションに追加します(名前を変更したプロジェクト)

わたしにはできる。TFSは新しいプロジェクトも追跡します。


1

テキストエディターで.slnを開き、次の行で<FolderName>を新しいフォルダー名に変更しますProject( "{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}")= "Ricky"、 "\ .csproj"、 " {021CC6B0-8CFB-4194-A103-C19AF869D965}」


3
これが機能する理由/方法を説明してください。
Simon.SA

1

.slnファイルに移動し、右クリックしてNotepad ++(または任意のエディター。Notepad++が最速です)で開き、パスを見つけて変更します。



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

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


0

Visual Studio 2013とTFSを使用しています 2013。

私はそれをこのようにしました:

  1. ソリューション自体を開かずにVisual Studioを開き、ソース管理エクスプローラーを使用するをしてプロジェクトのフォルダーを検索して名前を変更します
  2. ソース管理エクスプローラーでソリューションファイルをダブルクリックして、ソリューションを開きます。
  3. 「プロジェクトがこのソリューションに最近追加されました。ソース管理から取得しますか?」という質問が表示されます。、そしてあなたが選ぶYes
  4. これでフォルダーとプロジェクトの構造はありましたが、現在はファイルなので、ソース管理から最新バージョンを取得します
  5. 変更をビルドしてコミットしてみてください。

したがって、Windowsエクスプローラーのことはありません。最後に、すべてのローカルファイルを削除して、ソース管理からプロジェクト全体(クリーン)を取得できます。
ムリス14

フォルダーの再配置により、ソリューションファイルがプロジェクトが保存されている空のフォルダーを作成する可能性があることもわかりました。次に、ソリューションファイルをメモ帳で開き、作成された空のディレクトリの数だけプロパティSccNumberOfProjectsの数を減らし、対応するSccProjectUniqueName#、SccProjectName#、SccLocalPath#、および同じ#を持つ他のプロパティを削除します。
ムリス14

0

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

  • Visual Studioを開きますが、ソリューションを閉じます。
  • ソースエクスプローラーを開き、目的のフォルダーの名前を変更します(ソリューションを閉じていない場合は、ソリューションが閉じられます)。
  • ソースエクスプローラーからも)ソリューションを右クリックし、[チェックイン]を選択します。
  • ソリューションを開きます。新しいプロジェクトが追加されたことが通知されます。受け入れて変更を取得します。
  • ソリューションからプロジェクトを削除して再度追加し、チェックインします。
  • 内部参照に問題がないことを確認します。

0

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


あなたが話すウィンドウは何ですか?プロジェクトのプロパティウィンドウですか?
Peter Mortensen、

0
  1. Visual Studioの外部でプロジェクトの名前を変更します。
  2. 編集your_project_name.slnテキストエディタを使用して、新しいパスへのパスを変更します。

1
これは現在の解決策に似ており、もう少し難しいようです。
ボウルターナー2015

0

私は次のことをしました:

<フォルダ全体のバックアップを作成>

  1. Visual Studio 2013内からプロジェクトの名前を変更します(オプション/不要)。

  2. プロジェクトをテンプレートとしてエクスポートします。

  3. ソリューションを閉じます。

  4. ソリューションを再開する

  5. 保存したテンプレートからプロジェクトを作成し、好きな名前を使用します。

  6. ソリューションエクスプローラーから前のプロジェクトを削除します。

この時点で、新しいソリューションをコンパイルしようとしました。そのためには、いくつかのリソースとヘッダーを古いプロジェクトフォルダーから新しいプロジェクトフォルダーに手動でコピーする必要がありました。エラーなしでコンパイルされるまで、これを繰り返します。この新しいプロジェクトは、「. exe」ファイルを前のフォルダに保存しました。*

だから->

  1. Windowsエクスプローラーに移動し、ソリューションファイルを古いプロジェクトフォルダーから新しいプロジェクトフォルダーに手動でコピーします。

  2. ソリューションを閉じ、新しいプロジェクト内からソリューションを開きます。

  3. 必要に応じて、構成を(x64)に戻しました。

  4. ソリューションのフォルダーから古い名前のプロジェクトのフォルダーを削除します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.