2016-12-04 10 views
13

私はC#プログラムを作成しました。私は最近、参照先の.dllファイルをIL Mergeを使用して実行可能な.exeファイルにマージすると、私のアンチウイルス(Avast)はすぐにそれを削除し、ウイルスだと言います。私はいつもバックアップをたくさん作るので、2日前にバックアップして同じことをテストしましたが、この問題は発生しませんでした。私のC#プログラムがウイルスとして検出されましたか?

私は最新のコードを1行ずつ削除し、プログラムがウイルスとして検出されたことに気付いた。私はファイルのリストが指定されたパス(%appdata%にある私のappsフォルダ内)に存在するかどうかを確認する場所を空白にします。空白には約8 File.Exists(path)のコマンドがあり、これらの8行を削除すると、私のプログラムはもはやウイルスとして検出されなくなります。

私の質問は、この問題の解決策はありますか? File.Existsを使用しているため、私のプログラムがウイルスとして検出されるのはなぜですか?

+1

A [類似の質問](http://stackoverflow.com/q/39820720/11683)が削除されたので、そこから私のコメントをコピーします:*私は明確で永続的な答えがあるとは思わない経験則の性質。はい、 'File.Exists(path)'はそれをオフにすることができますが、わかりません。はい、それは素朴な経験則の例であり、次のリリースで変更される可能性があります。 * – GSerg

+0

この例では、間違いなく「File.Exists(path)」と設定しています。これは、他のすべてのコードを同じにしているためです。 – Harry

+3

理論的には、あなたのアプリケーションを送信してもはや報告されないように、彼らの「偽陽性の報告」フォームを使用することができますhttps://www.avast.com/false-positive-file-form.php実際には、あなたは他のものに苦しんでいるでしょう - Avastは報告された最大の偽陽性の1つを持っています。 –

答えて

1

AssemblyInfo.csに、少なくとも「名前、作成者、説明」フィールド(デフォルト値ではない)を指定しましたか?私は約1年前に同様の問題があり、これが私の問題を解決しました。

+0

残念ながらそれは私のために動作しませんでした。あなたの入力をありがとうtho。 – Harry

0

AssemblyInfo.csの「Guid」を少し変更してからもう一度やり直してください。

それは私のために働いた。

関連する問題