8

Benim Windows hizmet oluşturmak/Windows güvenlik duvarı belirli kurallar çıkarmak gerekiyor yönetmek için. Bunun için <windows>\system32\hnetcfg.dll numaralı telefondan COM aracılığıyla NetFwTypeLib ile arayüz oluşturuyorum. Benim 64 bit Windows 7 makine büyük çalışır, ancak aşağıdaki hata atar başka 64-bit Windows 7 makine üzerinde test: İçimde bir hisdağıtma NetFwTypeLib Windows Güvenlik Duvarı

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. 

olduğunu ben gömmek ve birlikte montaj yüklerseniz benim Uygulama, Windows'un farklı sürümlerinde ve 32-bit ve 64-bit arasında sorun yaşayabilir.

Bu eksik derleme dağıtım sorununu nasıl çözebilirim?


Düzenleme: Bu 4.0 haricinde herhangi bir hedef çerçevesinde bir VS2010 issue gibi görünüyor. kimsenin buna bir çözümü var mı?

+0

Bunun için bir çözüm buldular mı? Asme şeyini kullanmam gerek – Ghita

cevap

1

Ne garip bir hata! Düşünebildiğim en iyi şey, DLL'un System32 versiyonuna güvenmemek, klasörünüze kopyalamak ve oradan aramak. Bilgimden, DLL'nin farklı bit bilgisayarlarla çakışması gerektiğini düşünmüyorum, ancak eğer onlar sadece 32 bit bilgisayardan farklı bir DLL edinirse ve x64 ve x86 için ayrı yüklemeler içerirler. İyi şanslar!

DÜZENLEME: Ayrıca, i 3.5'de programlama veya VS2010 düşük ile bazı sorunlar vardı. görsel C# bir sürümünü almaya çalışın 2008 ifade ve benim için Visual Studio 2012. çalışırken bu aynı dll ile bir sorunu vardı

1

(genellikle .net sürümlerini geçersiz kılınması ile bir çok hata düzeltmeleri) bununla deneyin Düzeltme, interop.NetFwTypeLib.dll'u çalıştığım dizine el ile taşımaktı. Bu benim için sorunu düzeltmek için görünüyordu. o

7

NetFwTypeLib nesne Windows 7 Ultimate üzerinde hnetcfg.dll kütüphanede saklı değildir yardımcı olur. Aksine, FirewallAPI.dll dosyasında% system32% \ FirewallAPI.dll dosyasında bulunur (örneğin c: \ windows \ system32 \ FirewallAPI.dll). NetFwTypeLib kullanarak

; // referans % SystemRoot ekle% \ System32 \ Firewallapi.dll

İlgili konular