web-dev-qa-db-ja.com

プロジェクトファイルの名前が変更されたか、コンピューター上にありません

TFSソース管理からVS 2008プロジェクトをロードしようとすると、次のエラーが表示されます。

プロジェクトファイルが移動されたか、名前が変更されたか、コンピューター上にありません

[OK]をクリックすると、プロジェクトに「使用不可」と表示されます。何が問題ですか?どうすれば解決できますか?以前にこの問題は一度もなかった。一部のブログでは.suoファイルを削除すると言われていますが、.suoファイルが見つかりません。ローカルコンピューター上のプロジェクト全体を削除したため、次回開くときに新しいプロジェクトが作成されますが、それでも同じエラーが発生します。

140
sineas

通常、それを修正するのに役立つのは、ソリューションユーザーオプション(別名「SUO」)を削除することです。

VS 2013まで

古いVSでは、「非表示」として保存されますSolutionName.suoメインと同じフォルダー内.slnファイル。

VS2015以降

VS2015では、同じ日付が「非表示」に移動しました.vsメインフォルダーと同じフォルダーの下のフォルダー.slnファイル。

256
Stanley.Goldman

プロジェクトの名前を変更した後、VS 2013を使用してこの問題に遭遇しました。スタンレーの答えは私を解決へと導いた:

VSを閉じます-.suoファイルを削除します-VSを再度起動します。

36
AndreasV

.suoファイルを特別な方法で削除します。

  1. 非表示の.suoファイルを削除するときに、ソリューションを開かないでください。
  2. VisualStudioを再起動します。
  3. ソリューションを開き、エラーメッセージなしでプロジェクトを追加します。
20
Mikhael Loo

TFSは、ほとんどのソース管理パッケージと同様に機能します。コンピューターに保存されている内容を記憶するため、「最新版を取得」するときは、すべてを取得するのではなく、最後の「取得」以降の変更を取得するだけで済みます。

これには1つの注意点があります。ディスク上のローカルファイルを削除または名前を変更しても、TFSはこれを行ったことを認識せず、ファイルが残っていると判断します。

その後、「最新版を入手」すると、見つからないファイルを更新する必要がなくなります。

その場合、TFSやその他のファイル検索ツールから、あらゆる種類の「ファイルが見つかりません」というエラーが発生する可能性があります。

それを回避するには、以下を行う必要があります。

  • 失いたくない変更がそこにあると思われる場合は、念のためバックアップとしてPCのソースフォルダーをコピーしてください!
  • プロジェクト(ソリューションエクスプローラー)またはフォルダー(ソース管理)を右クリックします。
  • コンテキストメニューから[特定バージョンの取得]を選択します
  • 「最新バージョン」を取得することを選択し、「ワークスペースに既にあるファイルを強制的に取得する」などのオプションを選択します。これにより、TFSは「知っている」ことを忘れてすべてのファイルを再び取得します。

ローカルで変更された(書き込み可能な)ファイルがある場合は注意してください。これらを上書きして変更を失う2番目のオプションがあります。ただし、バックアップがあるため、安全である必要があります。一般に、このオプションにチェックを入れて、すべてのソースコードが完全に最新であることを確認することをお勧めします。 (ただし、ローカルの変更を失うことを気にしない場合にのみ明らかに!)

OKをクリックすると、プロジェクト内のすべてのファイルがローカルドライブに強制的に取得され、問題が修正されます。

11
Jason Williams

VSの欠陥としてはよく知られていますが、間違いなく対処できます!

  • 編集モードでソリューションファイルを開く

  • 変更/移動された物理パスと一致するように相対パスを変更します..

    SccProjectUniqueName1 = Source\\Order\\Order.csproj
    SccProjectName1 = Order.ApplicationService
    SccLocalPath1 = Order.ApplicationService
    
  • また、参照プロジェクトの正しい相対パスの確認

    Project("{asdasd-301F-11D3-BF4B-asdasd}") = "Order",
            "Source\Order\Order.csproj", "{E25641BC-C990-40E2-8876-08AE8728F763}"
    EndProject
    
9

.slnではなく.csprojまたは.vbprojを開いてみてください。おそらく発生したのは、.sln(ソリューション)ファイルに、コンポーネントプロジェクトへの(相対パスではなく)絶対ファイル参照があることです。 .slnを再作成するか、手動で編集する必要がある場合があります。

6
Lilith River

私が解決した最も簡単なオプションは次のとおりです:

  1. プロジェクトを右クリックして、「ロードされていない」または「利用できない」プロジェクトを削除します
  2. ソリューションを右クリックして、「既存のプロジェクト」を追加します
4
Arun Vinoth

私の場合、.suoファイルの削除では不十分でした。ワークスペースの設定にエラーがあることを発見しました。次の手順で問題を発見し、解決しました。

  1. チームエクスプローラーで、「ワークスペースの管理...」

    enter image description here

  2. 「編集...」をクリックします

    enter image description here

  3. 「ローカルフォルダ」の下の値を修正します

    enter image description here

  4. 最後に、受け入れられた回答ごとに影響を受ける.suoファイルを削除します。

3

新しいソリューションslnファイルを作成するのが最も簡単であることがわかりました。

2
David

ワークスペースのマッピングをクリアします(ファイル->ソース管理->ワークスペース)。ワークスペースを編集して、すべてのマッピングをクリアするか(より多くの影響)、またはこのサーバーパスに関連付けられているマッピングを見つけます。次に、ソース管理エクスプローラーを開き、再マップします。ソース管理エクスプローラーでSLNをダブルクリックすると、最新になります。何が起こったのか、どういう状態になったのかは完全にはわかりませんが、これで再び動けるはずです。

1
Ryan Cromwell

この問題にぶつかり、同僚から.rptprojファイルを取得してローカルディレクトリにコピーすることで解決できました。その後、プロジェクトを再ロードできました。

1
Sayward

これに対する解決策

  1. 再びプロジェクトフォルダの名前を変更します
  2. 特定のバージョンを設定し、TFSで強制的に取得する
  3. 最新のフォルダーの読み取り専用と非表示のオプションを削除します(名前変更フォルダーではありません)
  4. これで問題なくプロジェクトを開くことができます
0

場合によっては、.slnおよび.csprojパスと名前を手動で入力すると、プロジェクトを含むフォルダー名を確認するのを忘れることがあります。

0
SMPH

この問題を解決するために多くの時間を費やしました。これらの手順を実行しました:プロジェクトの名前変更、名前空間の名前の変更、プロジェクトフォルダーの名前の変更、.slnファイルの編集、非表示の.suoファイルの編集。プロジェクトはロードされましたが、TFSでは認識できませんでした!最後に、私は このガイド を見つけました。

Resharperを使用していて、TFVCがバージョン管理である場合、次の手順を実行します。

  • ソリューションエクスプローラーでプロジェクトを右クリックし、[名前の変更]を選択して、新しい名前を入力します

  • プロジェクトをもう一度右クリックし、[プロパティ]を選択します。 [アプリケーション]タブで[アセンブリ名]と[既定の名前空間]を変更します。

  • プロジェクトを再度右クリックして、「リファクタリング」->「名前空間の調整」を選択します。変更を受け入れます。

  • Properties/AssemblyInfo.csでAssemblyTitleとAssemblyProductを変更します

  • Windowsエクスプローラーでbinおよびobjディレクトリを削除する

  • ソース管理エクスプローラーを開き、プロジェクトのディレクトリの名前を変更します。これにより、ソリューションが閉じられます。閉じてください。

  • SLNファイルを(Notepad ++などのテキストエディターで)開き、プロジェクトへのパスを変更します(複数の場所が必要です)。

  • ソリューションを再度開きます。プロジェクトをクリーンして再ビルドします。

0
ABS

使用できないプロジェクトを右クリックしてプロジェクトファイルを編集します。可能性としては、ハードコードされたファイルパスまたはプロジェクトをチェックアウトした場所と一致しない仮想パスが見つかります。

親切、

ダン

0
Daniel Elliott