私はC#プログラムを作成しました。私は最近、参照先の.dllファイルをIL Mergeを使用して実行可能な.exeファイルにマージすると、私のアンチウイルス(Avast)はすぐにそれを削除し、ウイルスだと言います。私はいつもバックアップをたくさん作るので、2日前にバックアップして同じことをテストしましたが、この問題は発生しませんでした。私のC#プログラムがウイルスとして検出されましたか?
私は最新のコードを1行ずつ削除し、プログラムがウイルスとして検出されたことに気付いた。私はファイルのリストが指定されたパス(%appdata%にある私のappsフォルダ内)に存在するかどうかを確認する場所を空白にします。空白には約8 File.Exists(path)
のコマンドがあり、これらの8行を削除すると、私のプログラムはもはやウイルスとして検出されなくなります。
私の質問は、この問題の解決策はありますか? File.Exists
を使用しているため、私のプログラムがウイルスとして検出されるのはなぜですか?
A [類似の質問](http://stackoverflow.com/q/39820720/11683)が削除されたので、そこから私のコメントをコピーします:*私は明確で永続的な答えがあるとは思わない経験則の性質。はい、 'File.Exists(path)'はそれをオフにすることができますが、わかりません。はい、それは素朴な経験則の例であり、次のリリースで変更される可能性があります。 * – GSerg
この例では、間違いなく「File.Exists(path)」と設定しています。これは、他のすべてのコードを同じにしているためです。 – Harry
理論的には、あなたのアプリケーションを送信してもはや報告されないように、彼らの「偽陽性の報告」フォームを使用することができますhttps://www.avast.com/false-positive-file-form.php実際には、あなたは他のものに苦しんでいるでしょう - Avastは報告された最大の偽陽性の1つを持っています。 –