2010-01-11 11 views
10

मेरे पास एक सी # क्लास लाइब्रेरी है जिसमें फ़ोल्डर में व्यवस्थित कई संसाधन फ़ाइलें हैं। चूंकि मैं चाहता हूं कि जेनरेटेड क्लास एक ही नामस्थान में हों, मैं प्रत्येक संसाधन फ़ाइल की कस्टमटूल नामस्थान संपत्ति सेट कर रहा हूं।विजुअल स्टूडियो रिसोर्स जनरेशन - कस्टम टूल नेमस्पेस

हालांकि मुझे प्रतिबिंबक के माध्यम से पता चला कि हालांकि कक्षाएं सभी नामस्थान में उत्पन्न की जा रही हैं, एम्बेडेड संसाधनों के पथ में निर्देशिका नाम है जिसमें संसाधन फ़ाइल रखा गया है।

एक परियोजना में उदाहरण है जहाँ FolderCustomNamespaceRes.resxफ़ोल्डर नाम के एक निर्देशिका के अंदर रखा जाता है।

हटाया मृत ImageShack लिंक

और जहां CustomToolNamespace के लिए FolderCustomNamespaceRes.resx PublicResourcesTest के लिए सेट है, परावर्तक पता चलता है कि एम्बेडेड संसाधन विधानसभा के लिए पथ PublicResourcesTest है। फ़ोल्डर .FolderCustomNamespaceRes.resources

हटाया मृत ImageShack लिंक

यह एक बग है या मैं कुछ याद आ रही है?

उत्तर

7

कुछ खोज के बाद मुझे पता चला कि एम्बेडेड संसाधन का मेनिफेस्ट नाम .cspproj फ़ाइल में मेटाडेटा जोड़कर नियंत्रित किया जा सकता है।

इससे पहले कि आप की तरह कुछ होगा:

<EmbeddedResource Include="Folder\FolderCustomNamespaceRes.resx"> 
    <Generator>PublicResXFileCodeGenerator</Generator> 
    <LastGenOutput>FolderCustomNamespaceRes.Designer.cs</LastGenOutput> 
    <CustomToolNamespace>PublicResourcesTest</CustomToolNamespace> 
</EmbeddedResource> 

और प्रकट नाम आप जोड़ना होगा नियंत्रित करने के लिए:

<EmbeddedResource Include="Folder\FolderCustomNamespaceRes.resx"> 
    .... 
    <LogicalName>$(RootNamespace).FolderCustomNamespaceRes.resources</LogicalName> 
</EmbeddedResource> 
0

यह आईडीई द्वारा स्वचालित रूप से किया जाता है, इसलिए यह एक बग नहीं है, लेकिन दुर्भाग्य से ऐसा लगता है कि आप इस व्यवहार को दबाने के लिए रीसर्पर का उपयोग करके here रूपरेखा के रूप में उपयोग कर सकते हैं।

+0

कि ReSharper विकल्प हाथ में मामले पर लागू नहीं है। संसाधन पीढ़ी को विजुअल स्टूडियो द्वारा प्रदान किए गए कस्टम टूल द्वारा नियंत्रित किया जाता है। –

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