8

प्रबंधित करने के लिए NetFwTypeLib को तैनात करना मेरी विंडोज सेवा को विंडोज फ़ायरवॉल से कुछ नियम बनाने/निकालने की आवश्यकता है। इसके लिए मैं NetFwTypeLib के साथ <windows>\system32\hnetcfg.dll में COM के माध्यम से इंटरफेस करता हूं। यह मेरी 64-बिट विंडोज 7 मशीन पर काम करता है महान , लेकिन एक और 64-बिट विंडोज 7 मशीन पर परीक्षण थ्रो निम्न त्रुटि:विंडोज फ़ायरवॉल

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-बिट के बीच समस्या होगी।

मैं इस लापता असेंबली परिनियोजन मुद्दे को कैसे हल करूं?


संपादित करें: यह 4.0 को छोड़कर किसी भी लक्ष्य ढांचे के लिए एक VS2010 issue हो रहा है। क्या किसी के पास इसके लिए एक फिक्स है?

+0

क्या आपको इसके लिए कोई समाधान मिला? मुझे एएसएम चीज का उपयोग करने की ज़रूरत है – Ghita

उत्तर

1

क्या अजीब त्रुटि है! सबसे अच्छा मैं सोच सकता हूं कि DLL के संस्करण पर भरोसा न करें, इसे अपने फ़ोल्डर में कॉपी करें और उसे वहां से कॉल करें। मेरे ज्ञान से, मुझे नहीं लगता कि डीएलएल को विभिन्न बिट कंप्यूटरों के साथ संघर्ष करना चाहिए, लेकिन यदि वे करते हैं तो 32 बिट कंप्यूटर से एक अलग डीएलएल प्राप्त करें और x64 और x86 के लिए अलग-अलग डाउनलोड करें। सौभाग्य!

संपादित करें: इसके अलावा, मुझे 3.5 में प्रोग्रामिंग के साथ कुछ परेशानी हुई है या VS2010 में कम है। की विजुअल C# एक संस्करण प्राप्त करने का प्रयास 2008 व्यक्त करने और उस के साथ की कोशिश मैं इस एक ही dll साथ एक समस्या थी जब दृश्य स्टूडियो 2012 में काम कर रहे मेरे लिए

1

(आमतौर पर .net संस्करणों पदावनति के साथ त्रुटियों की एक बहुत कुछ ठीक करता है) फिक्स मैन्युअल रूप से interop.NetFwTypeLib.dll को उस निर्देशिका में ले जाना था जिस से मैं काम कर रहा था। यह मेरे लिए इस मुद्दे को ठीक करना प्रतीत होता था। उम्मीद है कि यह

7

NetFwTypeLib ऑब्जेक्ट Windows 7 Ultimate पर hnetcfg.dll लाइब्रेरी में नहीं रहता है। इसके बजाय, यह% system32% \ FirewallAPI.dll (जैसे c: \ windows \ system32 \ FirewallAPI.dll) पर FirewallAPI.dll में रहता है।

NetFwTypeLib का उपयोग करके; // संदर्भ जोड़ें % सिस्टम रूट% \ System32 \ FirewallAPI.dll

संबंधित मुद्दे