私はC#プログラムを作成しましたが、参照した.dllをIL Mergeを使用して1つの実行可能.exeファイルにマージすると、アンチウイルス(Avast)がそれをすぐに削除し、ウイルスであると言っていることに気付きました。私はいつもたくさんのバックアップをするので、2日前のバックアップで同じことをテストしましたが、この問題は発生しませんでした。
そこで、最近のコードを1行ずつ削除し、プログラムがウイルスとして検出される原因となっていることに気づきました。指定したパス(%appdata%にあるアプリフォルダー内)にファイルのリストが存在するかどうかを確認する場所がありません。 voidには約8つのFile.Exists(path)
コマンドがあり、これらの8行を削除すると、プログラムがウイルスとして検出されなくなります。
だから私の質問は、この問題の解決策はありますか? File.Exists
を使用しているだけでプログラムがウイルスとして検出されるのはなぜですか?
AssemblyInfo.csに、少なくとも「名前、作成者、説明」フィールド(デフォルト値ではない)を提供しましたか?約1年前に同様の問題が発生し、これで問題が解決しました。
AssemblyInfo.csの「Guid」を少し変更してから、再試行してください。
それでうまくいきました。