8

내 Windows 서비스는 Windows 방화벽에서 특정 규칙을 만들거나 제거해야합니다. 이를 위해 NetFwTypeLib<windows>\system32\hnetcfg.dll에서 COM을 통해 인터페이스합니다. 그것은 내 64 비트 윈도우 7 컴퓨터에 큰 작동하지만 다음과 같은 오류 던졌습니다 다른 64 비트 Windows 7 시스템에서 테스트 : 나는 느낌을Windows 방화벽을 관리하기위한 NetFwTypeLib 배포

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. 

이 그 나는 포함과 함께 어셈블리를 설치하면 내 32 비트와 64 비트 사이의 다른 버전의 Windows에는 문제가 있습니다.

누락 된 어셈블리 배포 문제를 어떻게 해결할 수 있습니까?


편집 :이 4.0 제외한 모든 대상 프레임 워크에 대한 VS2010 issue 것으로 보인다. 누구든지이 문제를 해결할 수 있습니까?

+0

해결 방법을 찾으셨습니까? 나는 asme 것을 사용할 필요가있다. – Ghita

답변

1

이상한 오류! 내가 생각할 수있는 가장 좋은 것은 DLLSystem32 버전에 의존하지 말고 폴더에 복사 한 다음 호출하십시오. 내 지식으로는, DLL이 다른 비트 컴퓨터와 충돌한다고 생각하지 않지만, 그렇다면 32 비트 컴퓨터에서 다른 DLL을 얻고 x64x86에 대한 별도의 다운로드가 있어야합니다. 행운을 빕니다!

편집 : 또한, 프로그래밍에 약간의 어려움이 있었거나 3.5 이하로 VS2010. 비주얼 C#의 버전을보십시오 2008을 표현하고 나를 위해 비주얼 스튜디오 2012 에서 작업 할 때 나는이 같은 DLL에 문제가 있었다

1

(일반적으로 .net 버전을 다운 그레이드와 함께 많은 오류를 해결) 그와 시도 픽스는 수동으로 interop.NetFwTypeLib.dll을 내가 작업하고 있던 디렉토리로 옮기는 것입니다. 이것은 나를 위해 문제를 해결하는 것 같았다. 희망이 있습니다

7

Windows 7 Ultimate에서는 NetFwTypeLib 개체가 hnetcfg.dll 라이브러리에 없습니다. 대신 % System32 % \ FirewallAPI.dll (예 : c : \ windows \ system32 \ FirewallAPI.dll)의 FirewallAPI.dll에 있습니다.

NetFwTypeLib; // 참조 추가 % SystemRoot % \ System32 \ FirewallAPI.dll

관련 문제