プロジェクトをVisual Studioの別のフォルダーに移動するにはどうすればよいですか?私は自分のプロジェクトでこの構造に慣れています。
-- app
---- Project.Something
---- Project.SomethingElse
名前空間SomethingElse全体をSomethingNewに名前変更したいのですが、(手動で.slnファイルに移動せずに)それを行うための最良の方法は何ですか?
プロジェクトをVisual Studioの別のフォルダーに移動するにはどうすればよいですか?私は自分のプロジェクトでこの構造に慣れています。
-- app
---- Project.Something
---- Project.SomethingElse
名前空間SomethingElse全体をSomethingNewに名前変更したいのですが、(手動で.slnファイルに移動せずに)それを行うための最良の方法は何ですか?
回答:
ソリューションエクスプローラーウィンドウでプロジェクトを右クリックし、[削除]を選択して、プロジェクトをソリューションから削除します。サブフォルダを含め、プロジェクトフォルダ全体をどこにでも移動します。プロジェクトをソリューションに戻します。
名前空間名は完全に異なるものです。ソースコードを編集するだけです。
プロジェクトを削除して再度追加するよう提案しましたが、依存関係を修正するのは面倒です。
私はこのアプローチを使用します:
git mv ...
代わりに入力しmv ...
ます。詳細については、git-mv
ドキュメントを参照してください。
私も同じ問題を抱えていました。参照を変更せずに、参照を移動して15分未満で解決しました。
私にとっての解決策は簡単でした:
例:
ソリューションファイル(.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
概要:VS2019でのgit2019での名前の変更と移動、gitの履歴の保持、R#の活用、自動依存プロジェクト参照の更新(多くのプロジェクトを持つslnで重要、200以上)
Visual Studio 2019でC#プロジェクトの名前を変更して移動するには、次の手順を使用しています。このプロセスでは、R#を使用して名前空間を調整します。gitの履歴は、「git mv」を実行することで保持されます(履歴の追加/削除は回避されます)。
2つのフェーズ:1)プロジェクトの名前を変更し、2)プロジェクトを移動します。
(base2 reアンロードプロジェクトからのチップを使用します。)
名前を変更
注:Windowsエクスプローラーのフォルダーは、この時点では古い名前のままです(たとえば、Utils.Foo)。これは移動ステップで修正されています。
動く
この方法:1)git履歴を保持する、2)R#を活用して名前空間をアトミックに調整する、3)依存プロジェクトを一括で更新する(依存するslnおよびcsprojファイルの面倒な手動編集を回避する)。
ソリューション内のすべてのプロジェクトをアンロードします(ターゲットプロジェクトの削除によって依存プロジェクトの変更がトリガーされないようにするため)
VS | ソリューションの下にあるすべてのソリューションフォルダーを選択します。Unload Projectsを右クリック
gitを使用してフォルダを移動します(そのため、履歴が維持されます)
a)2019の開発者コマンドプロンプトを開く
b)git status(「コミットするものは何もない、作業ツリーがクリーン」を示すため)
c)プロジェクトのgit mv例:git mv "C:\ Code \ foo \ foo \ Utils.Foo" "C:\ Code \ Foo"
d)変更を表示/確認するためのgitステータス
VS | ソリューションエクスプローラー| プロジェクトを選択| 右クリック| 削除(すべてのプロジェクトがアンロードされるため、依存プロジェクトの参照が正しく削除されません)
a)VS | ソリューションエクスプローラー| ターゲットの親フォルダを選択| 右クリック| 追加| 既存のプロジェクト
重要: 依存プロジェクトの* .csprojファイルが更新されていることを確認してください。
(VS |チームエクスプローラー|変更|リストされた依存csprojをダブルクリック| ProjectReferenceパスの変更を検査して確認)
Notepad ++(または他のテキストエディター)を使用してパスを修正します。多くの場合、これは単純な検索と置換(たとえば、.. / .. / .. / .. /から../../)で実行できます。
これは更新されます...
a)GlobalAssmeblyInfo.cs参照
b)パッケージへのパス
c)依存関係検証図ファイルへのパス
d)のルールセット・パスへのパス(例えば、<CodeAnalysisRuleSet>..\..\..\..\SolutionDependencyValidation\IgnoreWarnings.ruleset</CodeAnalysisRuleSet>
)
すべて保存、ソリューションを閉じる、履歴を消去するためにbinおよびobjフォルダーを削除することをお勧めします。ソリューションを再度開きます
a)VS | チームエクスプローラー| 変化
i)移動されたファイルを示す段階的な変更を確認する必要がありますii)適切に更新された依存プロジェクト(* .csproj)を確認する必要がありますcsprojの差分を確認し、パスが美しく更新されていることを確認します!! (これは、テキストエディターを使用してcsprojファイルを手動で更新する手間を省く魔法です)
b)Windowsエクスプローラで、古い場所が空であることを確認します
c)ソリューションのクリーン、ソリューションの再構築、単体テストの実行、slnでのアプリの起動。
VS2012では簡単です。マッピングの変更機能を使用するだけです。
私はこれを試してみて、これが私のために機能することを理解しました。
Visual Studio 2017 Community Editionでは、このパスにプロジェクトを作成します "C:\ Users \ mark \ source \ repos \ mipmaps \ mipmaps"これにより、ファイルへのアクセスが作成され、問題が拒否されます
これで、この方法で修正できます。
ビジュアルスタジオプロセスを閉じます。次に、プロジェクトを見つけてプロジェクトフォルダーをコピーします。ただし、まず、ドキュメントのVisual Studio 2017フォルダー内にサブフォルダーNamed Projectsを作成します。次に、プロジェクトフォルダーをProjectsというサブフォルダーに移動する必要があるメインのVisual Studio 2017フォルダーではなく、Visual Studio 2017プロジェクトフォルダー内に貼り付けます。次に、Visual Studio 2017を再起動し、[Open Project Solution]を選択します。次に、貼り付けたプロジェクトをVisual Studio 2017の[Projects]フォルダーに配置し、プロジェクトをクリーンアップして再ビルドします。正しくビルドされ、コンパイルされます。希望、これは他の人を助けました。なぜMicrosoftが書き込み権限を必要とするパスでプロジェクトを構築するのが私を超えていると思ったのかわからない。
これは私のために働いたvb2019。ソースプロジェクトフォルダーをコピーしました。次に、プロジェクトを貼り付け、フォルダの名前を任意の名前に変更しました。ソースプロジェクトフォルダーへの関連付けを解除するために、一時的にソースフォルダーの名前を変更しました。目的のプロジェクトを開きました。フォームとモジュールへのパスは、ローカルフォルダーで再検出されました。すべてのフォームとモジュールを調べて、それらが機能していることを確認しました。私はプロジェクトを実行しました。プロジェクトを閉じました。ソースプロジェクトフォルダーの名前を元の名前に戻しました。エラーなしで両方のプロジェクトを同時に開くことができます。
ソリューションフォルダーを使用して関連プロジェクトをグループ化する
http://msdn.microsoft.com/en-us/library/vstudio/c6c756s6(v=vs.100).aspxを参照してください