8

Mein Windows-Dienst muss bestimmte Regeln aus der Windows-Firewall erstellen/entfernen. Hierzu interfe- riere ich über COM mit NetFwTypeLib in <windows>\system32\hnetcfg.dll. Es funktioniert großartig auf meiner 64-Bit-Windows-7-Maschine, aber die Prüfung auf einer anderen 64-Bit-Windows-7-Maschine führt der folgende Fehler:Bereitstellen von NetFwTypeLib zum Verwalten der Windows-Firewall

Service cannot be started. System.IO.FileNotFoundException: 
Could not load file or assembly 'Interop.NetFwTypeLib, 
    Version=1.0.0.0, Culture=neutral, 
    PublicKeyToken=null' or one of its dependencies. 
    The system cannot find the file specified. 

ich das Gefühl, dass, wenn ich einbetten und installieren Sie die Montag mit meinem Anwendung hätte ich Probleme mit verschiedenen Windows-Versionen und zwischen 32-Bit und 64-Bit.

Wie löse ich dieses fehlende Problem bei der Bereitstellung von Baugruppen?


Edit: Dies scheint außer 4.0 ein VS2010 issue für jeden Zielrahmen zu sein. Hat jemand eine Lösung dafür?

+0

Haben Sie eine Lösung dafür gefunden? Ich muss das Asme Ding benutzen – Ghita

Antwort

1

Was für ein seltsamer Fehler! Das beste, was ich mir vorstellen kann, ist nicht auf die System32 Version der DLL verlassen, kopieren Sie es in Ihren Ordner und rufen Sie es von dort. Aus meiner Kenntnis, ich glaube nicht, dass die DLL Konflikt mit den verschiedenen Bit-Computern, aber wenn sie nur dann erhalten Sie eine andere DLL von einem 32-Bit-Computer und separate Downloads für x64 und x86. Viel Glück!

EDIT: Ich hatte auch einige Probleme mit der Programmierung in 3.5 oder niedriger in VS2010. Versuchen Sie, eine Version von visual C# erhalten Express 2008 und versucht, mit dem (in der Regel eine Menge Fehler behebt mit Herabstufung .net Versionen)

1

ich ein Problem mit dem gleichen dll hatte, als in Visual Studio 2012. Für mich arbeiten Die Lösung war, das interop.NetFwTypeLib.dll manuell in das Verzeichnis zu verschieben, in dem ich gerade arbeitete. Dies schien das Problem für mich zu beheben. Hoffe, es hilft

7

NetFwTypeLib Objekt befindet sich nicht in hnetcfg.dll-Bibliothek auf Windows 7 Ultimate. Stattdessen befindet es sich in FirewallAPI.dll bei% system32% \ FirewallAPI.dll (zB c: \ windows \ system32 \ FirewallAPI.dll).

mit NetFwTypeLib; // Referenz hinzufügen % SystemRoot% \ System32 \ FirewallAPI.dll

Verwandte Themen