Visual Studioソリューションのコピー

このQ&Aのポイント
  • Visual Studioを使ってc#で小規模アプリ開発している者です。
  • 開発途中で、バックアップしたものも、すべて元ファイル(パス)に関連付けられてしまうのです。
  • 設定項目などで、ファイルを閉じるときに自動でアンロードするようになりませんか?
回答を見る
  • ベストアンサー

Visual Studioソリューションのコピー

Visual Studioを使ってc#で小規模アプリ開発している者です。 開発途中で、今まで開発しておいたものをソリューションフォルダごとバックアップしておいて、元のフォルダのファイルで試しながらコードを追加していくことがよくあります。 もしうまく動かなければそのフォルダごと破棄し、バックアップしておいたソリューションフォルダに戻って開発を続けられるからです。 Gitを使っても良いのですが、手っ取り早いので上記のようにしています。 上記のやり方がVS2017までは使えてたのですが、VS2019にしてからは出来なくなりました。 バックアップしたものも、すべて元ファイル(パス)に関連付けられてしまうのです。 つまり、どのフォルダからソリューションを開いてコードを直しても、同じ元ファイル(パス)のコードが修正されてしまいます。 理由を探ったところ、プロジェクトを閉じるときに「アンロード」し、バックアップした後に、再度開いてプロジェクトをロードすれば、ソリューションフォルダごと別々のファイルと認識されることが分かりました。 つまり、プロジェクトを閉じるときに「アンロード」しておけば、ソリューションフォルダを自由にバックアップできるようです。 しかし、このようなことをいちいちするのは面倒なので、設定項目などで、ファイルを閉じるときに自動でアンロードするようになりませんか? もしくは、簡単にできる代替案をお教えいただけると嬉しいです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

gitのブランチ機能などを使ったほうがいいと思いますが。 「アンロード」で不具合を回避できたように見えても、実はまだ気づいていないだけで他の不具合が出ている/いま現在使用していない機能では不具合が回避しきれていない、といった可能性が排除できません。 開発者が想定していない方法では、問題が起こらないことを検証されていないので、あくまで使用者の自己責任です。 開発者が使用を想定して、一通り検証が行われている機能を使う方が幸せだと思います。 やってる内容を考えると、それほど手間が違うとも思えませんし。

tatsupamu
質問者

お礼

そうですね。Gitを使うようにしていこうと思います。 ありがとうございます。

関連するQ&A

  • visual studio 2008 プロジェクトへファイル追加方法

    visual studio 2008 プロジェクトへファイル追加方法 プロジェクトのフォルダにCPPファイルなどを追加したのですが、VS2008のソリューションエクスプローラ上に表示されません。表示するにはどうしたらいいのでしょうか?

  • .net ソリューションでwebserviceが利用不可

    こんにちは。 いま.net 2003でvb.netの開発をしています。 あるソリューションファイルにwebserviceを参照していますが, ソリューションを開こうとすると, 「開こうとしているプロジェクトはWebプロジェクトです。 URLパスを指定してプロジェクトを開いてください。」 というメッセージが表示されてしまいます。 昨日まではこのようなメッセージが出なかったのですが… さらに開いた後,ソリューションエクスプローラを見ると, あるWebServiceが"利用不可"となっており, 「プロジェクトの再読み込み」をしようとすると, やはり上記と同じ文言のエラーメッセージが表示されてしまいます。 このエラーを解決してメッセージが出ないようにするには どうすれば良いでしょうか? 教えてください。よろしくお願いします。

  • Visual Studio データ管理について

    自分の頭の中で整理がつかなかったもので、 大変初歩的な質問になりますが、質問させて下さい。 現在、Visual Studio 2010で開発をしています。(言語C++,WinApi使用) 一つソリューションの中には、 BaseFrameworkプロジェクト(Windowクラスなどといった各アプリケーション共通ライブラリ.libとして出力) Applicationプロジェクト(BaseFramework.libを利用して、アプリケーション作成.exeとして出力) 上記2つのプロジェクトがあるとします。 もちろん各プロジェクト毎にフォルダが用意されており、 アプリケーション実行パスは、ソリューションディレクトリのパスになると思います。 そこで、各アプリケーションで利用するデータ(画像、音声)は、 C:\ソリューションディレクトリパス\\Data以下に保存して利用します。 ・・・と、ここまではいいのですが・・・・。 どのアプリケーションでも共通で利用するデータ(画像、音声)は、BaseFrameworkプロジェクトフォルダ内の C:\BaseFrameworkプロジェクトフォルダパス\\Data以下に保存して利用したいのですが・・・。 ライブラリリンクのように、プロジェクトの構成プロパティでインクルードディレクトリやライブラリディレクトリの追加のような良い手段はないでしょうか?? 自分の知識の中では、 ・BaseFrameworkで使っているDataフォルダをまるごとソリューションディレクトリパスにコピーする←効 率悪い気がする・・・ ・ソース内で相対パスを指定する←これしかないのかなぁ・・・ といった方法しか思い浮かばないです・・・ 皆さんは、どういった方法で管理されているのでしょうか・・・? 共通のデータと、アプリケーション毎データの管理を別にする方法を、ご指導お願いできないでしょうか? お手数をおかけしますが、よろしくお願いします。

  • ソリューションの名前の変更

    ソリューションの名前を変更しても、 C:\Users\○○\Documents\Visual Studio 2012\Projects の配下にあるフォルダ名は変更されないのでしょうか? プロジェクトごと、ソリューションごと名前を変更したいのですが、 全て変更できないのであれば訳が分からなくなるのでやめたいのですが、 ソリューションの名前を開発画面で変えた場合 手作業でフォルダ名を変更すればいいのでしょうか?

  • Visual Studio2005 「セットアップと配置」で困った!

    複数個のprojectをもつソリューションのインストーラを作成しようとしたのですが、ファイルシステムエディタで、「対象コンピュータ上のファイルシステム」-「アプリケーションフォルダ」を右クリックし、「追加」-「プロジェクト出力」をクリックしました。 「プロジェクト出力グループの追加」ダイアログは出るのですが、すべて空白です。「プロジェクト」ボックスになにもないので、「プライマリ出力」を選択することができません。 どうしてこのようなことになるのか、または、どういう対策を講じればよいかどなたか教えてください。

  • dllを参照追加をするときのパスについて

    VS2015で開発をしていてサードパーティ製のツールを使用しています。 そのうちのいくつかのdllをプロジェクトに参照追加しています。 端末(1)で新たにdllを参照追加しました。 端末(2)でフォルダ階層の違う場所でソリューションを開くと さきほどのプロジェクトの参照追加したdllに参照できないマークがつき、コンパイルするとワーニングが出力されます。 これはなぜでしょうか? また、以前から追加されているdllの「.csproj」内のパスは 端末(1)にはないディレクトリとなっているのですが、エラーになりません。 このプロジェクトファイル以外にもパスを管理しているものがあるのでしょうか? ご存知の方がいらしたらご教授頂きたいです。

  • デザイナの表示(Visual Studio 2008 )

    Visual Studio2008でMFCアプリケーションの作成を行なっています。 以前はVisualC# ExpressEditionのWindowsFormアプリケーションでアプリケーションの作成を行なっていました。しかし、製品版でしかサポートされていないMFCアプリケーションのみで動作するコンポーネントを使うことになり、開発環境をこちらに移行してきたところです。 そこで不明な点が出てきたので質問します。 今までC#ではデザイナの表示は「表示」→「デザイナ」もしくは、ソリューションエクスプローラの(Form_name).csをダブルクリックすることによりできました。 ですが、VisualStudio2008のMFCアプリでは最初にプロジェクトを作ったときはデザイナ画面が出ているのですが、2回目に開いてからはどこにも出ません。(project_name)Dlg.hのファイルの種類をフォームにするなど試したのですが、だめでした。出来る限りコードから生成するのは面倒なので避けたいです。 詳しい方お願いします。

  • 既作成ソリューション・プロジェクトのコピー手順

    以前VB2008で作成したソリューション・プロジェクト(プログラムAとします)をコピーして、 それをもとに追加機能を付加するため別ソリューション・別プロジェクトとしてコピーしました(「プログラムA_TEST」として元ファイルを単純にコピーしてDIR名をリネーム)。 ところが、プログラムA_TESTを修正し起動させたら、修正した箇所が反映させず、デバッグ(ブレイクポイントを付加)を行うと、ソースとモジュールが相違している旨のメッセージが表示され、「単一インスタンスのアプリケーションを作成する」にチェックをつけて実施すると、ブレイクポイントがプログラムA側のソースに当たります。本来このように元々あるソリューションをコピーする際の手順(なんとなく参照先を修正する必要がありそうに思えますが)があるのでしょうか? ご教示の程よろしくお願いいたします。 参考 プログラムAは4プロジェクト(APプロジェクト、共通機能プロジェクト、汎用機能プロジェクト、DBプロジェクト)で構成しています。 プログラムA_TESTも4プロジェクト(APプロジェクト、共通機能プロジェクト、汎用機能プロジェクト、DBプロジェクト)で構成されています。

  • Visual Studio 最近使った履歴の重複

    「Visual Studio Express 2012 for Windows Desktop」にて C# を 使っているのですが、メニュー項目の [ファイル(F)] の中にある [最近使ったプロジェクトとソリューション(J)] に、同じ csproj ファイルが 2つ登録されていることがよくあります。 10の履歴を表示している使い方だと、実質5~6個くらいしか表示 されないこともあり、不便です。 これを重複しないよう設定等で対策できますでしょうか? 片方が sln ということはありません。 オプションで履歴数を20にすると実質10以上にはなるのですが、 探しづらくなり、増やしたくはありません。 もしかしたら開き方によって相対パスや絶対パスになって分かれて いるのでしょうか。 なお、Visual Studio 2005ではこのようなことはありませんでした。

  • Visual Studioでのビルド

    Visual Stuido Express2012を使用しているのですがビルドについて質問があります。 DBViewerというプロジェクト名でC#のアプリを作成しているのですが ビルドしてできたexeファイルが下記の2通りの場所に存在しています。 exeファイルも両方動作します。 下のパスの方がフォルダの中身がスッキリしていてるのですがこの違いは 何なのでしょうか。また、リリースには下のパスのフォルダを使用するのが 正しいのでしょうか。 C:\Visual Studio 2012\Projects\DBViewer\DBViewer\obj\Debug C:\Visual Studio 2012\Projects\DBViewer\DBViewer\bin\Debug

専門家に質問してみよう