web-dev-qa-db-ja.com

Visual Studioはプロジェクトを別のフォルダーに移動します

Visual Studioでプロジェクトを別のフォルダーに移動するにはどうすればよいですか?私は自分のプロジェクトでこの構造に慣れています。

-- app
---- Project.Something
---- Project.SomethingElse

名前空間全体をSomethingElseからSomethingNewに変更したいのですが、これを行う最良の方法は(手動で.slnファイルに移動することなく)です。

164
Egor Pavlikhin

ソリューションエクスプローラーウィンドウでプロジェクトを右クリックし、[削除]を選択して、プロジェクトをソリューションから削除します。必要な場所にサブディレクトリを含むプロジェクトフォルダ全体を移動します。プロジェクトをソリューションに追加し直します。

名前空間の名前はまったく異なるもので、ソースコードを編集するだけです。

148
Hans Passant

プロジェクトを削除して再追加する提案を試みましたが、依存関係を修正するのは苦痛です。

私はこのアプローチを使用します:

  1. プロジェクトフォルダーを移動します。
    • プロジェクトがソース管理にある場合は、ソース管理コマンドを使用して移動します。
  2. テキストエディターでソリューションファイルを編集します。変更する必要があるパスは1つだけです。
183
Igor ostrovsky
  1. VS2012でソリューションを閉じる
  2. プロジェクトを新しい場所に移動します
  3. ソリューションを開く
  4. ロードに失敗したプロジェクトを選択します
  5. プロパティツールウィンドウには、編集可能な「ファイルパス」エントリがあり、新しいプロジェクトの場所を選択できます。
  6. 新しいパスを設定する
  7. プロジェクトを右クリックして、リロードをクリックします
42
Emmanuel

同じ問題がありました。参照を変更せずに、参照を移動して15分以内に解決しました。

私にとって解決策は簡単でした:

  1. 必要な場所にファイルを移動します。
  2. .vsという名前のフォルダーを削除します。表示されていないフォルダーである必要があります。
  3. Noteやnotepad ++などの単純なエディターを使用して、ソリューションファイル(.sln)を開きます。
  4. 次の構造を使用して、ファイルがある場所の参照を変更します。同じフォルダーにプロジェクトを配置する場合は、前のフォルダーまたは参照「.. \」を削除します。上記のフォルダに配置する場合は、参照「.. \」またはフォルダの名前を追加します。
  5. 変更したファイルを保存します。
  6. プロジェクトファイル(.csproj)を開き、同じことを行い、参照を削除または追加します。
  7. 変更を保存します。
  8. ソリューションファイルを開きます。

例:

ソリューションファイル(.sln)

  • オリジナル:Project( "{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}")= "PATH1.UI"、 "ScannerPDF\PATH1.UI\PATH1。 UI.csproj "、" {A26438AD-E428-4AE4-8AB8-A5D6933E2D7B} "Project(" {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} ")=" PATH1.DataService "、" ScannerPDF\PATH1.DataService\PATH1.DataService.csproj "、" {ED5A561B-3674-4613-ADE5-B13661146E2E} "

    新規:Project( "{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}")= "PATH1.MX.UI"、 "PATH1.MX.UI\PATH1.UI.csproj"、 "{A26438AD-E428-4AE4-8AB8-A5D6933E2D7B}" Project( "{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}")= "PATH1.DataService"、 "PATH1.DataService\PATH1.DataService.csproj"、 "{ ED5A561B-3674-4613-ADE5-B13661146E2E} "

プロジェクトファイル内:

  • 元の:

    新しい:

    元の参照:....\lib\RCWF\2018.1.220.40\TelerikCommon.dll

    新しい参照:..\lib\RCWF\2018.1.220.40\TelerikCommon.dll

私にとって実際に働いたのは:

  1. ソリューションからプロジェクトを削除します。
  2. テキストエディターでプロジェクトファイルを編集します。
  3. 「パッケージ」へのすべての関連パスを更新します。私の場合、プロジェクトをより深いフォルダーに移動したため、「..\packages」を「......\packages」に変更する必要がありました。
  4. プロジェクトをソリューションにロードし直します。

お役に立てれば。

2
Gonzalo Méndez

VS2012では簡単です。変更マッピング機能を使用するだけです:

  1. ソリューションの移動先のフォルダーを作成します。
  2. すべてのプロジェクトファイルをチェックインする(変更を保持する場合)か、チェックアウトしたファイルをロールバックします。
  3. ソリューションを閉じます。
  4. ソース管理エクスプローラーを開きます。
  5. ソリューションを右クリックし、「詳細->マッピングの削除...」を選択します
  6. 「ローカルフォルダー」の値を手順1で作成したものに変更します。
  7. 「変更」を選択します。
  8. ソース管理エクスプローラーでソリューションをダブルクリックして、ソリューションを開きます。
1
Forch

VS 2015で

  1. ソリューションエクスプローラーでプロジェクトをアンロードします
  2. 新しいソリューションを作成する
  3. プロジェクトを新しいソリューションのフォルダーにコピーします
  4. ソリューションを右クリックして、既存のプロジェクトを追加します。
  5. MVCなどのフレームワークを使用する場合、参照マネージャーに参照を追加する必要がある場合があります。
0
code4j

Gitの変更を、削除と追加ではなく移動/名前変更として表示することを望みました。そこで、上記と post のコンボを行いました。

mkdir subdirectory
git mv -k ./* ./subdirectory
# check to make sure everything moved (see below)
git commit

また、テキストエディタを介してslnファイル内のヌジェートパッケージからプロジェクトとアセンブリのパスを調整します。

0
Bob Lokerse

私はこれが私のために働いたこれを試してみました。

Visual Studio 2017コミュニティエディションでは、このパス「C:\ Users\mark\source\repos\mipmaps\mipmaps」にプロジェクトが作成されます。これにより、ファイルへのアクセスが拒否されます。

これで、この方法で修正できます。

visual Studioプロセスを閉じます。次に、プロジェクトを見つけてプロジェクトフォルダーをコピーしますが、最初にドキュメント内のVisual Studio 2017フォルダー内にプロジェクトという名前のサブフォルダーを作成します。次に、Visual Studio 2017プロジェクトフォルダー内にプロジェクトフォルダーを貼り付けます。VisualStudio 2017のメインフォルダーではなく、Projectsというサブフォルダーに移動します。次に、Visual Studio 2017を再起動します。次に、[プロジェクトを開く]ソリューションを選択します。次に、Visual Studio 2017の[プロジェクト]フォルダーで貼り付けたプロジェクトを見つけ、プロジェクトを削除して再構築します。希望、これは他の人を助けた。マイクロソフトが書き込み権限を必要とするパスでプロジェクトを構築することを考えた理由は定かではありませんが、私にはわかりません。

0
markk