आपको असेंबली बनाने के लिए निम्नलिखित टूल की आवश्यकता होगी।
- resgen.exe
- al.exe
- ildasm.exe
al.exe कार्यक्रम है कि एक उपग्रह विधानसभा में संसाधनों एम्बेड करता है। लेकिन al.exe केवल संसाधनों को बार्सरी प्रारूप में स्वीकार करेगा। लेकिन हमारे इनपुट आमतौर पर सादा पाठ संसाधन फ़ाइलों या XML-आधारित संसाधन फ़ाइलों को .resx प्रारूप में होते हैं। resgen.exe का उपयोग संसाधनों के इन वैकल्पिक रूपों को बदलने के लिए किया जाता है .resources बाइनरी प्रारूप al.exe को palatable।
ildasm.exe: यदि आपको याद है कि विजुअल स्टूडियो आईडीई क्या कर रहा है, तो आप देखेंगे कि आपके संसाधन फ़ाइल निर्देशिका संरचना के बीच एक नाम अनुवाद है और यह संसाधन फ़ाइल असेंबली के अंदर कैसे जानी जाती है। Becaue हम उपग्रह संसाधनों को उत्पन्न करने के लिए डिफ़ॉल्ट संसाधनों और बाह्य प्रक्रिया उत्पन्न करने के लिए विजुअल स्टूडियो आईडीई का उपयोग कर रहे हैं, दोनों तंत्रों को संसाधन फ़ाइलों के लिए समान नामकरण पदानुक्रम के साथ असेंबली का उत्पादन करना होगा।
इसलिए हम डीएलएल की जांच करने के लिए ildasm का उपयोग करते हैं कि विजुअल स्टूडियो आईडीई संरचना का पता लगाने के लिए उत्पन्न करता है, और सैटेलाइट असेंबली उत्पन्न करने के लिए उसी तंत्र का उपयोग करता है। यह सुनिश्चित करने के लिए कि आप सही नाम प्राप्त करते हैं, आप ildasm का उपयोग करके उपग्रह असेंबली की भी जांच कर सकते हैं। यह संसाधन प्रबंधक से त्रुटियों को डीबग करने के लिए उपयोगी होगा जो आपको बता रहा है कि यह संसाधन का पता नहीं लगा सकता है।
अब उपकरण बताए गए हैं, हम बाहरी संसाधन फ़ाइल को उपग्रह असेंबली में कैसे परिवर्तित कर सकते हैं? जैसा कि नीचे बताया गया है, यह एक तीन (वास्तव में, दो) चरण प्रक्रिया है।
चरण 0: resgen और al.exe के लिए अपने पथ सेट करें:
@set path=%path%;
"C:\Program Files\Microsoft Visual Studio .NET\FrameworkSDK\Bin";
c:\winnt\microsoft.NET\framework\v1.0.3705
चरण 1: उपयोग resgen एक .resx फ़ाइल से एक .resources फ़ाइल बनाने के लिए।
Resgen MyText.resx
उपरोक्त आदेश एक फ़ाइल कहा जाता है पैदा करेगा:
MyText.resources
चरण 2:
Al.exe
/t:lib
/embed:MyText.en-gb.Resources,MyApplication.MyText.en-gb.Resources
/culture:hi-gb
/out:MyApplication.resources.dll
लायक चीजों की एक जोड़ी हैं: al.exe उपग्रह विधानसभा बनाने के लिए प्रयोग करें यहां नोटिंग:
/t:lib: Says you are interested in a .dll.
/embed:MyText.en-gb.Resources,MyApplication.MyText.en-gb.Resources : Embeds and renames the resource to a target name to match the Visual Studio IDE naming structure.
/culture:hi-gb : Identifies the culture in which you are interested.
/out:MyApplication.resources.dll : Name of the DLL in which you are interested.
उत्पन्न .dll नेट के लिए नामकरण परिपाटी यह पता लगाने के लिए कि होना आवश्यक है। यह भी ध्यान दें कि आप संस्कृति सेटिंग निर्दिष्ट करने के लिए, भले ही संस्कृति संसाधन फ़ाइलों के नाम पर उपलब्ध है है। तो यह दोनों जगहों में उल्लेख किया जाना चाहिए।
प्लेस उचित निर्देशिका में उपग्रह विधानसभा एक बार उपग्रह विधानसभा बनाया जाता है, शारीरिक रूप से निम्न निर्देशिका में .dll कॉपी:
\MyApplication\bin\en-gb\MyApplication.Resources.DLL
कई संसाधन फ़ाइलों के मामले में:
\MyApplication\resources\files\CommonResources.resx
\MyApplication\resources\files\Module1Resources.resx
\MyApplication\resources\files\Module2Resources.resx
और आप इन संसाधनों के लिए एक अलग पदानुक्रम में कुंजी परिभाषित कर सकते हैं, निम्नानुसार:
\MyApplication\resources\keys\CommonKeys.cs
\MyApplication\resources\keysModule1Keys.cs
\MyApplication\resources\keys\Module2Keys.cs
एक बैच कार्यक्रम स्क्रिप्ट के लिए, मेरे ब्लॉग http://samithenerd.blogspot.com/2011/12/batch-program-for-creating-satellite.html
मैं इसे देखूंगा नि: शुल्क समय में, साझा करने के आपके प्रयासों को ऊपर उठाया;) –
इसके अलावा आप अपने उत्तर को भी स्वीकार कर सकते हैं अगर आपको लगता है कि यह वास्तव में आप के बाद क्या था। –