none
Visual Studio Community 2015 でソリューションのフォルダを移動したら参照が全て切れて戻せなくなった。 RRS feed

  • 質問

  • Visual Studio Community 2015 でソリューションのフォルダを移動したら参照が全て切れて戻せなくなりました。
    ソリューションフォルダ内にはA,B,2つのプロジェクトがあるのですが、Bは正常に参照されていますがAのプロジェクトはすべて参照が切れています。
    プロジェクトはFramework4.5で作成されています。
    OS Windows 10 Pro

    【症状】
    ○ Aプロジェクトの参照を見ると、全ての参照が黄色の△にびっくりマークがついた状態です。

    【試したこと】
    ○ 元あった場所にフォルダを戻してソリューションを開いても同じ症状でした。
    ○ Aプロジェクトだけを開いても同じ症状でした。
    ○ 試しに System 参照を削除して、新たに参照を追加しても同じ症状でした。
    ○ System 参照を削除して、参照の追加で直接 "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.dll" を追加しても同じ症状でした。
    ○ Frameworkのバージョンをほかに変更しても(戻しても)同じ症状でした。
    ○ System 以外を削除、追加してみましたが同じ症状でした。(全てをチェックしてはおりません。)

    削除して追加しても参照が有効にならないので困ってしまいました。
    なにか手掛かりになるようなことでも助言いただけたらありがたいです。

    2016年7月5日 12:25

回答

  • 以下の条件で再現しました。

    * Windows 10 Pro

    * Visual Studio 2015 Community

    * 自家製NuGet Packageを参照しているプロジェクト

    * 自家製NuGet Packageはローカルフォルダに配置

    * 自家製NuGet Packageを配置しているフォルダをPackage Sourcesに追加していなかった

    * 自家製NuGet Packageの復元に失敗している

    * 自家製NuGet PackageはMSBuild Taskの.props/.targetsをインストールするPackage

    Package Sourcesを正しく設定して、NuGet Packageの復元に成功するまでは、.NETアセンブリの参照は黄色い三角マークがついて何をやってもだめでした。

    インポートしているMSBuild Taskとか疑ってみてはどうでしょうか?

    因みに、ソリューションフォルダよりも上の階層にNuGet.configを配置して、リポジトリ位置(packagesフォルダ)を変更している場合は、ソリューションフォルダを移動して、リポジトリからの深さが変わると、復元に失敗します。

    この場合、テキストエディタ等でNuGet Packageの参照を全て除去してから、再インストールする必要があります。

    以上、参考になれば。



    • 編集済み tmori3y2 2016年7月6日 22:07
    • 回答の候補に設定 星 睦美 2016年9月5日 8:28
    • 回答としてマーク 星 睦美 2016年9月26日 5:23
    2016年7月6日 15:09
  • 再現が取れれば話は早そうなのですが…。

    新規プロジェクト作成時には発生しないですか。
    また、発生するプロジェクトは他の端末などで試しても同じ問題が発生しますでしょうか。

    発生するのであれば、最小限のプロジェクト一式をどこかにアップロードしてみてもらったほうが早いかもしれません。
    ※その場合はを機密事項含まないよう気を付けてください。

    • 回答としてマーク 星 睦美 2016年9月26日 5:23
    2016年7月5日 15:49
    モデレータ

すべての返信

  • こんにちは。

    参照ツリーで黄色三角が表示されている項目はプロパティウインドウ上、パスやバージョンはどのように表示されている状態でしょうか。
    また、問題が発生しているプロジェクトを一度閉じて、binフォルダ、objフォルダを削除後に開きなおして、参照を追加した場合、どのようになるでしょうか。

    2016年7月5日 12:55
    モデレータ
  • Tak1waさん、こんにちは。

    > 問題が発生しているプロジェクトを一度閉じて、binフォルダ、objフォルダを削除後に開きなおして、参照を追加した場合、どのようになるでしょうか。

    やってみましたが同じ症状でした。

    > 参照ツリーで黄色三角が表示されている項目はプロパティウインドウ上、パスやバージョンはどのように表示されている状態でしょうか。

    ID : System

    エイリアス : System

    カルチャ : 空白

    バージョン : 0.0.0.0

    パス : 空白

    ファイルの種類 : アセンブリ

    ランタイムバージョン : 空白

    ローカルにコピー : False

    解決済み : False

    厳密な名前 : False

    説明 : 空白

    相互運用型の埋め込み : False

    特定のバージョン : False

    です。 


    2016年7月5日 15:39
  • 再現が取れれば話は早そうなのですが…。

    新規プロジェクト作成時には発生しないですか。
    また、発生するプロジェクトは他の端末などで試しても同じ問題が発生しますでしょうか。

    発生するのであれば、最小限のプロジェクト一式をどこかにアップロードしてみてもらったほうが早いかもしれません。
    ※その場合はを機密事項含まないよう気を付けてください。

    • 回答としてマーク 星 睦美 2016年9月26日 5:23
    2016年7月5日 15:49
    モデレータ

  • 少し手間がかかりますが、新しい同名のソリューションを作成してコピーする方法で行おうと思います。

    お騒がせしました。 

    そして、いつもご回答ありがとうございます。

    2016年7月5日 16:24
  • 以下の条件で再現しました。

    * Windows 10 Pro

    * Visual Studio 2015 Community

    * 自家製NuGet Packageを参照しているプロジェクト

    * 自家製NuGet Packageはローカルフォルダに配置

    * 自家製NuGet Packageを配置しているフォルダをPackage Sourcesに追加していなかった

    * 自家製NuGet Packageの復元に失敗している

    * 自家製NuGet PackageはMSBuild Taskの.props/.targetsをインストールするPackage

    Package Sourcesを正しく設定して、NuGet Packageの復元に成功するまでは、.NETアセンブリの参照は黄色い三角マークがついて何をやってもだめでした。

    インポートしているMSBuild Taskとか疑ってみてはどうでしょうか?

    因みに、ソリューションフォルダよりも上の階層にNuGet.configを配置して、リポジトリ位置(packagesフォルダ)を変更している場合は、ソリューションフォルダを移動して、リポジトリからの深さが変わると、復元に失敗します。

    この場合、テキストエディタ等でNuGet Packageの参照を全て除去してから、再インストールする必要があります。

    以上、参考になれば。



    • 編集済み tmori3y2 2016年7月6日 22:07
    • 回答の候補に設定 星 睦美 2016年9月5日 8:28
    • 回答としてマーク 星 睦美 2016年9月26日 5:23
    2016年7月6日 15:09