【C#】「Web のマークを削除してください」エラーの解決【現場の備忘録】

プログラム

とある案件を一緒に開発している会社の方からこんな連絡が来た。

「最新ソースでビルドエラーが出てデバックが出来なくなってしまったんですが…」

よくある更新漏れかソリューションのクリーンで解決するだろうと思ったら、原因が全然違った。

エラー内容について聞くと「Webのマークを削除してください。」と表示されているとのこと。

さらに聞き取ってみると最新ソースはGitHub*からzipで取得したらしい(この際の開発プロジェクトはGitHubで共有していた)。
*GitHub:プログラマーのpixivみたいなもの

この際のプロジェクトはVisual studio 2022 .Net8OSはWindows11でビルドしていた。

解決方法

該当プロジェクトの「.resx」「.sln」「.csproj」各ファイルのプロパティを開いて「全般」タブの「セキュリティ」に✓を入れてリビルドするとエラーがなくなりビルドが通るようになった。

もしzipの中に複数プロジェクトが入っている場合は、.zipファイル自体のプロパティを開いて同じく「許可する」に✓をいれたうえで展開すれば、展開された全てのプロジェクトでエラーが表示されることはなくなる。

原因

ほぼ間違いなくブラウザ(この場合はGitHub)からファイルを直接ダウンロードしたからなんだけど、この現象を再現しようと別環境でテストプロジェクトを作成し
1.GitHubにアップロード
2.直接zipでダウンロードし展開
3.slnを開きビルド
という手順を行ってもビルドエラーは発生しなかった。

ただその場合でもダウンロードしたファイルのプロパティには「セキュリティ:~許可する」の項目は現れていたので、同項目に記載されている通り「このファイルへのアクセスはブロックされる可能性があります。」あくまでたまにあるよってことらしい。

その結果がVisualStudio2022では「Webマークを削除してください。」というエラーに繋がると。

まぁzipでダウンロードなんてしないで、gitをインストールしてclone又はpullしていれば発生しなかった問題だと思うし、解決方法も簡単なのであまり気にしなくてもよさそうな問題ではある。

コメント

タイトルとURLをコピーしました