web-dev-qa-db-ja.com

Visual Studioのコピープロジェクト

プロジェクトのコピーを作成したいと思います。ファイルや参照などを追加してゼロから始めたくはありません。展開用のコピーを意味するものではないことに注意してください。ただのコピー。

これを行うためのツールがVSにありますか?私はVS 2008を使用しています

114
sarsnake

コピーが必要な場合、これを行う最も速い方法は、プロジェクトを保存することです。次に、ファイルシステムにすべてのコピーを作成します。 Visual Studioに戻り、コピーを開きます。そこから、同じ名前の2つを持たないようにプロジェクト/ソリューションの名前を変更することをお勧めしますが、コピーを作成する最も速い方法です。

131
Mitchel Sellers

テンプレートを作成する ;

選択したプロジェクトから:Project-Export Template

ウィザードで定義できます

  • テンプレート名
  • テンプレートの説明
  • アイコン
  • プレビュー画像

次に、プロジェクトを「My Exported Templates」ディレクトリに圧縮します。新しいプロジェクトを作成するときに、テンプレートを使用可能にするオプションもあります。

テンプレートを使用して新しいプロジェクトを作成すると、名前空間はすべてのファイルで「your_new_project_name」に対して正しくなり、すべての参照が正しく、すべてが完全です:)

.Zipファイルは誰にでも送信できます。ユーザーは.ZipファイルをTemplates\ProjectTemplatesディレクトリにコピー(解凍ではなく)して使用する必要があります。

フォルダー、レイアウトページ、ビューモデルなどが好きなように配置されたASP.NET MVCテンプレートを作成しました。

注意:
プロジェクトに空のフォルダーがある場合、テンプレートに追加されないため、各フォルダーに適切な空のクラスと、画像フォルダーのサンプル画像を追加しました。

78
Shane

これがあなたが頻繁に行うものであれば、あなたのためにそれを行うことを約束する小さな(非フリー)ユーティリティがあると思います:私はそれを使用していないので、それがどれほど良いかわかりません:

http://www.kinook.com/CopyWiz/

CodePlexにもこのプロジェクトがあります。

http://clone.codeplex.com/

おそらくcodeplexプロジェクトを試してみますが、うまくいかない場合は、手動ですべての名前を変更し、slnファイルを編集します。

6
quip

。csproj、.vspsccなどのように内部的に形成されたいくつかの構成ファイルのため、プロジェクトをコピーすることは非常にNOT ADVISABLEです。以前のソリューションの場所およびシステムまたはTFS内の他のパス/場所に属する参照を指す場合があります(ほとんどの場合、そうなるでしょう)。これらのファイルの読み取りと参照の修正の専門家でない限り、プロジェクトをコピーしようとしないでください。

コピーするのと同じタイプの骨格プロジェクトを作成できます。これにより、適切な。csproj、.vspsccファイルが作成されます。これで、前のプロジェクトからクラスファイル、スクリプト、およびその他のコンテンツを自由にコピーできます。それらは影響を与えないからです。これにより、スムーズなビルドとバージョン管理が保証されます(それに興味がある場合は)

以上のことをすべて言ったので、とにかく段階的にプロジェクトをコピーする方法を紹介しましょう。

  1. ソリューションエクスプローラーでコピーするプロジェクトに移動し、右クリックします。
  2. 次に、 'ファイルエクスプローラーでフォルダーを開く'を選択します(ソリューションがディスク上のローカルパスにマップされていると仮定します)。
  3. フォルダー全体としてレプリケートするプロジェクトを選択します(すべての依存関係、bin .vspsccファイル、.csprojファイル)
  4. 目的の場所に貼り付けます(同じソリューションフォルダーまたは別のソリューションフォルダーでも構いません。同じソリューションフォルダー内にある場合は、.csprojおよびその他の内部ファイルも新しい名前に変更する必要があります。 )。
  5. Visual Studioに戻りませんソリューション>追加>既存のプロジェクトを右クリック...
  6. 配置した場所からプロジェクトファイル(.csprojファイル)を参照して選択し、「open」を選択します
  7. このファイルは、作業用のソリューションエクスプローラーに表示されます。

おそらく、参照やものの重複/欠落を伴ういくつかのビルドエラーを解決する必要があるかもしれませんが、それ以外の場合は、期待どおりのロジックと構造の元のままです。

4
Vikram K

私はこれらの手順に従い、 Resharper と呼ばれる開発ツールを使用します。

そう、

  1. コピー既存のプロジェクトフォルダーを目的の場所にコピーします
  2. ソース管理に移動し、目的のルートフォルダーを右クリックして「フォルダーにアイテムを追加...」を選択します。その後、ウィザードが表示されます。コピーするファイルを選択します(一部のファイルは必要ありません。ウィザードはデフォルトでその理由でガイドします)。
  3. ソリューションファイル(* .sln)の名前を変更します
  4. サブプロジェクトの名前を変更します
  5. Resharperを使用して、バインディングnamespacesの名前を変更します(自動的に安全な汚い仕事)。別の方法は、新しい名前を持つすべての名前空間を手動で変更することです。
  6. メソッド名と同じアクション。
  7. 変更する場合は、ソリューションのプロパティを確認してください。

それでおしまい。あなたは準備ができています!!!

3
Giannis Grivas

最良の方法は、実際に最初から新しいプロジェクトを作成してから、コピーするプロジェクトファイル(プロジェクト、フォーム1、フォルダーを除くすべて)を含むフォルダーに移動することです。たとえば、ファイルの名前を変更します(form1ファイルを除く)。Ch4Ex1ファイルをCh4Ex2プロジェクトにコピーしましたが、最初にファイルの名前をCh4Ex2に変更しました。これらのファイルをコピーして、Visual Studioの新しいプロジェクトのソリューションエクスプローラーに貼り付けます。次に、ファイルを上書きするだけで、準備完了です!

古いスレッドですが、この答えを探している人に役立つことを願っています!

1
Alperon

私の解決策は少し異なります-パッケージが常駐していたコンピューターが死んだため、別のコンピューターで再作成することを余儀なくされました。

私がやったことは(VS 2008で)私のディレクトリで次のファイルを開くことでした:

                  - <package name>.djproj
                  - <package name>.dtproj.user
                  - <package name>.dtxs
                  - <package name>.sln
                  - Package.dtsx

これを行うと、ポップアップウィンドウが表示され、slnファイルが新しいソリューションになるかどうかを尋ねられ、[はい]をクリックすると、すべてが完全に機能しました。

0
Brian

ソースファイルがプロジェクトフォルダーの下のフォルダーにあるプロジェクトがあります。ソースフォルダーなしでプロジェクトフォルダーをコピーし、コピーしたプロジェクトを開いたとき、ソースファイルは失われていませんが、古い場所で見つかりました。プロジェクトを閉じ、ソースフォルダーもコピーして、プロジェクトを再度開きました。これで、プロジェクトは魔法のようにコピーされたソースファイルを参照します(新しいパスは「名前を付けて保存」に表示され、ファイルの変更はコピーされたバージョンに保存されます)。

警告があります:古いプロジェクトフォルダーと新しいプロジェクトフォルダーの両方が使用済みのライブラリフォルダーの下にない場合、上記のマジックはライブラリへの絶対参照も破棄し、同じ相対パスの下にあると想定します。

VS Express 2012でこれを試しました。

0
Rainald62

上記のソリューションを試し、MVCプロジェクトのコピーを作成した後

MVCプロジェクトの場合、.csprojファイルのポート番号を更新してください。iisapplicationhost.configを使用してポート番号を確認できます。同じポート番号を使用すると、IISでアセンブリの読み込みの問題が発生します。

0
Ganesh Vellanki