我不想重提一个旧问题,但我需要解决这个问题。经过评估,我得出结论:实际上并没有一个好的 .NET 库来解决这个问题。因此我自己写了一个库。该库名为 nClam,连接到 ClamAV 服务器。它是一个开源(Apache 许可证2.0)库,具有非常简单的 API。您可以在此处获取它:https://github.com/tekmaven/nClam。还有一个 NuGet 包:nClam。我希望未来遇到这个问题的人从我的库中受益!
我在我的桌面电脑上使用ClamWin,它是基于开源的Clam AntiVirus库构建的:http://www.clamav.net/download/third-party-tools/3rdparty-library/ 看起来他们有几个不同的.NET绑定: ClamAv# WRAVlib
Symantec提供Scan Engine作为将反病毒集成到您的.Net应用程序中的一种方式。如果这是针对非商业(内部)软件,并且您的公司已经使用Symantec,则这也可能是一个不错的选择。至于ClamAV或nClam,我个人从未使用过,无法发表评论。
我推荐给你一个名为“Anti-Virus Scanner”的NuGet包,使用它你可以轻松实现https://www.nuget.org/packages/AntiVirusScanner/。 这个NuGet包基本上调用了Microsoft Windows Defender的API。