『VisualStudioを使っていると「移動したか、名前が変更されたか、またはコンピュータに存在しません。」と出る 』を解決した

タイトルの通りです。

症状は先々週の記事を参照してください。

lpha-z.hatenablog.com

「c1xx C1083」でググったところ、以下のウェブサイトを見つけ、そこに書かれていることをやったところ解決できました。

developercommunity.visualstudio.com

解決法は、問題の発生しているフォルダをzipで圧縮し、それを解凍して元の位置に戻す、たったそれだけです。

もう少し具体的には、

  1. まず問題の発生しているフォルダをzipで圧縮する。
  2. 問題の発生しているフォルダを削除する。
  3. Windowsエクスプローラーから 圧縮したzipファイルを解凍し、元の位置に作成する

どうやら、WSL上で作ったファイルは、そのファイルシステムが大文字小文字を区別するような設定になってしまい、それが悪さをするようです。 zipで圧縮した後解凍した場合、Windowsがファイルを生成するため、ファイルシステムWindowsデフォルトの大文字小文字を区別しない設定になります。 これによりVisualStudioが望んでいる形式のファイルシステムとなり、エラーが消えることになります。

使っているgitリポジトリによっては、あまりにも大量のファイルを操作することになるため、非常に時間がかかります。 また、一部のファイルが欠けてしまうことも発生しましたが、やり直したところうまくいった、というよくわからないことも発生しました。

また、先ほどのウェブサイトには、そんな大層なことをしなくても、単にファイルシステムに大文字小文字区別をしない設定を付ける方法として、

fsutil.exe file setCaseSensitiveInfo <path> disable

を実行すればよい、とも書かれていましたが、まだ試していません。

この方法は、先々週の記事で「表示されるパスが全て大文字になる」という症状を発生させたときの対処法としてあげられていました。 先々週の段階ではその症状は発生していなかったため、この対処法を試すことはありませんでした。 しかし、他のgitリポジトリで試してみたところこの症状が発生したこと、解決策が同じだったことから、実は症状は同じであったようです。