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


150

TFSソース管理からVS 2008プロジェクトをロードしようとすると、このエラーが発生します。

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

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


28
ああ、私がこれらの頭痛を与えてくれたTFSがいかに嫌いか!
ジョンライデグレン、2011

2
下に行くと、ここに正しい答えがあります。
Claudius

回答:


270

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

2013年までのVS

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

VS2015以降

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


6
+1。非常に残念なエラーメッセージ-SCCプロバイダーによると、ファイルを「正しい」方法で移動した場合に発生する可能性が最も高いです。(例:TFSに 'tf rename'を使用)TFSに通知せずにプロジェクトをディスクに移動したり、sln / csprojファイルを更新し忘れたりすると、異なるエラーメッセージが表示されます。SUOファイルは不透明であるため、tfpt treeclean / scorchを実行するまで頭を悩ませます。
Richard Berg

8
それは私の日を救う;)
Kamil Lach

44
.suoファイルを削除した後にVisual Studioを再起動することを忘れないでください
orandov

8
ああ。したがって、.suoファイルは非表示になります。どうして?ああ、その理由はわかっています。私たちは開発者であり、明らかに.suoファイルを開いた状態で見ることで追加された複雑さを処理することができません;-)
Torben Rahbek Koch

29
これはVisual Studio 2015でも機能しますが、.suoファイルへのパスは<SolutionFolder> \。vs \ <SolutionName> \ v14 \ .suoに変更されています。
Greg M.

38

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

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


1
私は間違っている可能性がありますが、VisualStudioを閉じるまで、.SUOファイルを見たことさえないと思います。
マイケルR

5
追加したいだけです-VSを削除する前に閉じる必要があります。VSが開いている間にファイルを削除しても、いったん閉じてから再び開いても効果はありません。最初に閉じる必要があります!
wizloc 2015年

23

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

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

私のために働いたVisual .vs
Studio2019

11

TFSはほとんどのソース管理パッケージと同じように機能します。コンピューターに何が置かれているかを記憶しているため、「最新を取得」すると、すべてを取得する代わりに、最後の「取得」以降の変更を取得するだけで済みます。

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

次に「最新を取得」すると、不足しているファイルを更新する必要がなくなります。

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

それを回避するには、次のことを行う必要があります。

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

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

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


「特定のバージョンを取得」し、「ローカルマッチサーバーであってもすべてのファイルを上書きする」をチェックしました。エラーはないが、何も入っていない。別のコンピューターからチェックしたところ、プロジェクトはTFSにあり、他の人は問題なく作業できた。
sineas

ところで私のローカルソースフォルダーは完全に空です。その中には何もありません。すべての新しいファイルを取得できるように、最初にすべてのファイルを削除しました。まったく新しいプロジェクトを開くようなものです。
10

1
その場合、次に確認するのはワークスペースのマッピングです。チームエクスプローラーで、[ソース管理]アイコンをダブルクリックすると、表示されるウィンドウの上部にドロップダウンコンボボックスがあります。これをドロップダウンして、「ワークスペースの追加/編集」を選択します。ワークスペースを編集し、コードを含むTFSプロジェクトに、ローカルハードドライブに対応するフォルダーがあることを確認します。ソリューションを読み込もうとするときに、このフォルダーを確認していることを確認してください。(ヒント:問題の原因
Jason Williams

9

よく知られている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
    

6

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


私は.vbprojファイルを開こうとしました、そしてこれは私が得るものです。「選択したファイルはソリューションまたはプロジェクトとして開くことができません。ソリューションファイルまたはプロジェクトファイルを選択してください」.slnファイルの再作成方法も入力してください。私はこれが初めてです。ありがとう
sineas

ありがとう!csprojファイルを開き、終了時に新しい.slnファイルの作成/保存を求め、古いファイルを上書きしました!
ラファエル

5

私にとって最も簡単な方法は、次のとおりです。

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

私はこれを試しましたが、それでも同じエラーが発生し、この愚かなエラーに耐えられません(本当にバグです。この種の厄介なバグは受け入れられず、非常に混乱します)。
絶望的な

1
シンプルでストレート...それを得ました。
Sarath Mohandas

3

私の場合、.suoファイルの削除では不十分でした。ワークスペースの構成にエラーがあることがわかりました。私はこれらの手順で問題を発見して解決しました:

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

    ここに画像の説明を入力してください

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

    ここに画像の説明を入力してください

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

    ここに画像の説明を入力してください

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


2

新しいSolution slnファイルを作成するのが最も簡単だと思いました。


1

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


1

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


1

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

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

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

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

  • プロジェクトをもう一度右クリックして、「リファクタリング」->「ネームスペースの調整」を選択します。変更を受け入れます。

  • Properties / AssemblyInfo.csのAssemblyTitleおよびAssemblyProductを変更します。

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

  • ソース管理エクスプローラーを開き、プロジェクトのディレクトリの名前を変更します。これでソリューションが閉じます。閉じてみましょう。

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

  • ソリューションを再度開きます。プロジェクトを削除して再構築します。


0

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

親切、

ダン


2
[編集]オプションはありません。その唯一のリロードプロジェクト、カットアンド削除。
10

0

これに対する解決策

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

0

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.