none
前のバージョンを残したままで 新しいフォルダーにバージョンアップ版を作りたい RRS feed

  • 質問

  • フォルダー毎コピーしてフォルダー名を変更した後VisualStudio2013を起動させてソリューションを開いたところ、フォームウインドウもコードウインドウも表示されなくなりました。

    作成したプロジェクトを保持したままでバージョンアップを行いたかったのですが、正しい方法を教えて頂けたら有り難いです。

    よろしくお願いします。

    2017年11月26日 2:29

回答

  • 表示されなくなったとありますが、ソリューションエクスプローラーからも表示できないのですか?
    そうであれば、具体的にどういった操作をしたのか、ダミーのファイル名で結構ですので手順を書き出してください。

    基本的に、sln ファイル、その傘下のフォルダー、vbproj ファイルなど、正しくコピーできていれば開けるはずです。
    ソリューションを開いた直後に自動表示されないのなら、ソリューションエクスプローラーから開けば良いだけのはずです。

    • 回答としてマーク C29W Renewed 2017年11月26日 5:11
    2017年11月26日 3:36
    モデレータ
  • しつこく聞いて恐縮ですが、開いたコードやフォームを変更して上書き保存した場合、旧フォルダーの中のファイルには影響は無いのですね?更新されるのはコピーした新フォルダーの中だけですね?

    心配なら、元のファイルを圧縮してバックアップを取って実験すれば良いと思いますよ。

    開発者なのですから、聞く前に検証しましょう。(今回のケースは聞いて待つだけの時間が割と無駄になってしまいます…)
    もちろん、取り返しがつかないようなことを防ぐために、バックアップを取る、ボタンを足して消すなど、何かあっても差し障りのない操作にするというリスクを考えた行動を取るべきだとは思います。

    -----
    向上心がある方には、Team Foundation Server(TFS) や Subversion、Git などのバージョン管理システムを学ぶことをお勧めしますが、そこまでの規模・頻度ではないのですよね…?
    個人開発でもバージョン管理システムがあれば、いつでも前の状態に戻せるので安心ですし、バージョンの分岐もサポートしてくれます。
    2017年11月26日 4:41
    モデレータ
  • チャレンジ、素晴らしいと思います。
    試行錯誤されるには、動作するバージョンを残した上で、いろいろと試されたいところですね。
    簡単に試すのであれば、以下の方法を使うこともできますので、ご紹介しておきます。

    1.古いバージョンのソースを保存しておくフォルダを作成する。名前は何でも良いです。例えば「old」という名前にします。
      フォルダを追加するには、ソリューションエクスプローラーにおいて、プロジェクトで右クリックして、
      追加 -> 新しいフォルダ と進みます。
    2.ソリューションエクスプローラー上で、そこに残しておきたいソースをコピーします。
    3.同じくソリューションエクスプローラー上で、oldフォルダを右クリックし、「プロジェクトから除外」をクリックします。それにより、oldフォルダはプロジェクトから除外され、コンパイル対象から外れます。

    あとは、プロジェクトのソースを通常のように編集していきます。もし、途中で編集前に戻したくなった場合は、ソリューションエクスプローラーの一番上に出ているアイコンに「すべてのファイルを表示」がありますので、それをクリックすればプロジェクトから除外されたoldフォルダが見えるようになります。
    oldフォルダを右クリックして「プロジェクトに含める」をクリックすると、oldフォルダがプロジェクトに再び含まれるようになりますので、そこからプロジェクトの本来のソースにコピーして上書きします。
    このようにプロジェクトに含める、含めないを上手に使うことも役に立ちます。例えば、プロジェクトに関するドキュメントなども同様にプロジェクト内に作成し、プロジェクトから除外しておくことができます。

    また、Azuleanさんとのやり取りを見ていると、バックアップをされていないように思えます。先日、私の知人のハードディスクが壊れ、保存していたソースが全て無くなるという悲劇がありました。
    個人であればUSBメモリでも構いませんので、定期的にバックアップされることを強くお勧めします。バックアップはフリーのバックアップソフトを使えば良いでしょう。指定した時刻に自動的にバックアップすることもできますし、任意の時に手動でバックアップを起動することもできます。
    是非、ご検討下さい。


    ★良い回答には回答済みマークを付けよう! MVP - .NET  http://d.hatena.ne.jp/trapemiya/

    • 回答としてマーク C29W Renewed 2017年11月27日 0:50
    2017年11月27日 0:43
    モデレータ

すべての返信

  • 表示されなくなったとありますが、ソリューションエクスプローラーからも表示できないのですか?
    そうであれば、具体的にどういった操作をしたのか、ダミーのファイル名で結構ですので手順を書き出してください。

    基本的に、sln ファイル、その傘下のフォルダー、vbproj ファイルなど、正しくコピーできていれば開けるはずです。
    ソリューションを開いた直後に自動表示されないのなら、ソリューションエクスプローラーから開けば良いだけのはずです。

    • 回答としてマーク C29W Renewed 2017年11月26日 5:11
    2017年11月26日 3:36
    モデレータ
  • >ソリューションを開いた直後に自動表示されないのなら、ソリューションエクスプローラーから開けば良いだけのはずです。

    ご指示のとおりソリューションエクスプローラーから開くことが出来ました。有難うございました。しつこく聞いて恐縮ですが、開いたコードやフォームを変更して上書き保存した場合、旧フォルダーの中のファイルには影響は無いのですね?更新されるのはコピーした新フォルダーの中だけですね?

    2017年11月26日 4:22
  • しつこく聞いて恐縮ですが、開いたコードやフォームを変更して上書き保存した場合、旧フォルダーの中のファイルには影響は無いのですね?更新されるのはコピーした新フォルダーの中だけですね?

    心配なら、元のファイルを圧縮してバックアップを取って実験すれば良いと思いますよ。

    開発者なのですから、聞く前に検証しましょう。(今回のケースは聞いて待つだけの時間が割と無駄になってしまいます…)
    もちろん、取り返しがつかないようなことを防ぐために、バックアップを取る、ボタンを足して消すなど、何かあっても差し障りのない操作にするというリスクを考えた行動を取るべきだとは思います。

    -----
    向上心がある方には、Team Foundation Server(TFS) や Subversion、Git などのバージョン管理システムを学ぶことをお勧めしますが、そこまでの規模・頻度ではないのですよね…?
    個人開発でもバージョン管理システムがあれば、いつでも前の状態に戻せるので安心ですし、バージョンの分岐もサポートしてくれます。
    2017年11月26日 4:41
    モデレータ
  • 追記でも書きましたが、個人的にはバージョン管理システムを使うことを推したいところです。

    フォルダーをコピー&ペーストでも確かに分岐できますが、取り違えて編集して保存してしまった場合、もう戻せません。
    フォルダーベースでバージョン管理を成り立たせるためにはきちんと世代バックアップを残すなど、慎重な運用が必要になります。
    間違えない&バックアップを忘れないという運用を少し編集する度に徹底するのは難しいですので、そういったものはシステムに任せるべきだと考えています。

    2017年11月26日 5:05
    モデレータ
  • ボタンを足すくらいならまかり間違っても戻せますね。早速作業に取り掛かることにします。有難うございました。

    >開発者なのですから

    確かにそうですね。「お父さん、運転免許返納したらどうなの?」的年齢でのチャレンジですので、途中で台無しになること屡々です。

    2017年11月26日 5:11
  • アドバイス有難うございます。理解して使いこなせるかどうかは別にして、勉強してみます。

    2017年11月26日 13:01
  • チャレンジ、素晴らしいと思います。
    試行錯誤されるには、動作するバージョンを残した上で、いろいろと試されたいところですね。
    簡単に試すのであれば、以下の方法を使うこともできますので、ご紹介しておきます。

    1.古いバージョンのソースを保存しておくフォルダを作成する。名前は何でも良いです。例えば「old」という名前にします。
      フォルダを追加するには、ソリューションエクスプローラーにおいて、プロジェクトで右クリックして、
      追加 -> 新しいフォルダ と進みます。
    2.ソリューションエクスプローラー上で、そこに残しておきたいソースをコピーします。
    3.同じくソリューションエクスプローラー上で、oldフォルダを右クリックし、「プロジェクトから除外」をクリックします。それにより、oldフォルダはプロジェクトから除外され、コンパイル対象から外れます。

    あとは、プロジェクトのソースを通常のように編集していきます。もし、途中で編集前に戻したくなった場合は、ソリューションエクスプローラーの一番上に出ているアイコンに「すべてのファイルを表示」がありますので、それをクリックすればプロジェクトから除外されたoldフォルダが見えるようになります。
    oldフォルダを右クリックして「プロジェクトに含める」をクリックすると、oldフォルダがプロジェクトに再び含まれるようになりますので、そこからプロジェクトの本来のソースにコピーして上書きします。
    このようにプロジェクトに含める、含めないを上手に使うことも役に立ちます。例えば、プロジェクトに関するドキュメントなども同様にプロジェクト内に作成し、プロジェクトから除外しておくことができます。

    また、Azuleanさんとのやり取りを見ていると、バックアップをされていないように思えます。先日、私の知人のハードディスクが壊れ、保存していたソースが全て無くなるという悲劇がありました。
    個人であればUSBメモリでも構いませんので、定期的にバックアップされることを強くお勧めします。バックアップはフリーのバックアップソフトを使えば良いでしょう。指定した時刻に自動的にバックアップすることもできますし、任意の時に手動でバックアップを起動することもできます。
    是非、ご検討下さい。


    ★良い回答には回答済みマークを付けよう! MVP - .NET  http://d.hatena.ne.jp/trapemiya/

    • 回答としてマーク C29W Renewed 2017年11月27日 0:50
    2017年11月27日 0:43
    モデレータ
  • 詳細に解説頂き有難うございました。

    早速実行して見ます。
    確かにバックアップは取っておりませんので、ご意見のとおりです。その方も改善致します。

    2017年11月27日 0:58