2011-12-21 13 views
5

के लिए एएनटीएलआर मैं डीएसएल भाषा के लिए सी # कोड बनाने के लिए एएनटीएलआर वी 3 का उपयोग कर रहा हूं।सी # और CLSCompliant विशेषता

उत्पादित कोड में लेक्सर और पार्सर कक्षाओं पर विशेषता CLSCompliant विशेषता है जो चेतावनी उत्पन्न करने का कारण बनती है क्योंकि मेरी परियोजना सीएलएस अनुपालन नहीं है।

  1. मैं CLSCompliant विशेषता के बिना एएनटीएलआर उत्पादन कोड कैसे बना सकता हूं?
  2. क्या सी # 3 व्याकरण के स्ट्रिंग टेम्पलेट को बदलना संभव है?

उत्तर

9

मुझे लगता है कि आपने अब तक आसान कामकाज का पता लगाया है जिसमें संबंधित चेतावनी को अक्षम करने में शामिल है (और आपको टेम्पलेट्स के साथ झुकाव से बचाता है)।

बस अपने व्याकरण फ़ाइल में निम्न जोड़ने

@parser::header {#pragma warning disable 3021} 
@lexer::header {#pragma warning disable 3021} 

HTH गेब्रियल

+0

सही दिखता है, मैं इसे आज़मा दूंगा। धन्यवाद –

0

चेतावनी को दबा, यह सही है जो स्पष्ट रूप से करने के लिए AssemblyInfo.cs में एक विशेषता का उपयोग कि विधानसभा सीएलएस अनुरूप नहीं है के बजाय:

[assembly: CLSCompliant(false)] 

यह संकलन पर भी चेतावनियों को हटा देगा।

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