我想在dotnet 3.5上使用带有.NET C#的Windows API来管理Windows防火墙。
这就是我所做的。
Type netFwPolicy2Type = Type.GetTypeFromProgID("HNetCfg.FwPolicy2");
var manage = (INetFwPolicy2)Activator.CreateInstance(netFwPolicy2Type);
我的应用程序在Visual Studio 2017中成功构建,但是当我运行它时出现以下错误:
程序' [3240] firewallmanage.exe'已退出,代码为-532459699(0xe0434f4d)。
当我在.net 4.5中编译时,它完美无缺。请告诉我出了什么问题。
答案 0 :(得分:0)
我在.net版本的较低版本中构建了程序,并从build中复制了引用DLL(Interop.NetFwTypeLib.dll)。这个dll因为框架依赖而导致问题但是在替换dll后它开始正常工作