8

Windowsサービスでは、Windowsファイアウォールから特定のルールを作成または削除する必要があります。このためには、NetFwTypeLib<windows>\system32\hnetcfg.dllのCOMを使用してインターフェイスします。私は埋め込む場合は、私とのアセンブリをインストールすることを感じているNetFwTypeLibを展開してWindowsファイアウォールを管理する

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. 

:それは私の64ビット版のWindows 7マシンが、別の64ビット版のWindows 7マシンは、次のエラーをスローでテストに素晴らしい作品32ビットと64ビットの間で問題が発生します。

この欠落しているアセンブリの配備の問題を解決するにはどうすればよいですか?


編集:これは、4.0以外の任意のターゲットフレームワークのためのVS2010 issueのようです。誰にもこれに対する修正がありますか?

+0

解決方法を見つけましたか? asmeものを使う必要がある – Ghita

答えて

1

どのような奇妙なエラー!私が考えることができる最高ののは、DLLSystem32バージョンに頼るのではなく、それをあなたのフォルダにコピーしてそこから呼び出すことです。私の知るところでは、私はDLLが異なるビットコンピュータと競合するとは思わないが、もし彼らがちょうど32ビットコンピュータから別のDLLを取得し、x64x86の別々のダウンロードを持っている。がんばろう!

編集:また、私はVS2010の3.5以下のプログラミングでいくつか問題がありました。 ビジュアルC#のバージョンを取得しようと2008を表現し、私のVisual Studio 2012 で作業するとき、私はこの同じDLLの問題があった

1

(通常.netのバージョンをダウングレードすると、エラーの多くを修正する)ことにしてみてください修正は手動でinterop.NetFwTypeLib.dllを私が働いていたディレクトリに移動することでした。これは私の問題を解決するように思えた。希望すると助かります

7

Windows 7 Ultimateでは、NetFwTypeLibオブジェクトがhnetcfg.dllライブラリに存在しません。むしろ、それは%System32%\ FirewallAPI.dllのFirewallAPI.dll(例:c:\ windows \ system32 \ FirewallAPI.dll)にあります。

NetFwTypeLibを使用する。 // 参照を追加する %SystemRoot%\ System32 \ FirewallAPI.dll

関連する問題