2011-12-21 2 views
5

Я использую ANTLR V3 для создания кода C# для языка DSL.ANTLR для атрибутов C# и CLSCompliant

Полученный код содержит атрибут CLSCompliant на обоих моделях laxer и parser, которые вызывают появление предупреждения, поскольку мой проект не соответствует CLS.

  1. Как я могу сделать код ANTLR без атрибута CLSCompliant?
  2. Можно ли изменить строковый шаблон грамматики C# 3?

ответ

9

Я полагаю, вы догадались, что к этому способу было легко обходное решение, которое заключается в отключении соответствующего предупреждения (и избавляет вас от возиться с шаблонами).

Просто добавьте следующие строки в ваш файл грамматики

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

HTH Габриэль

+0

выглядит правильно, я попробую. благодаря –

0

вместо подавления предупреждений, это правильно, чтобы явно указать, что сборка не CLS совместимый с помощью атрибута в AssemblyInfo.cs:

[assembly: CLSCompliant(false)] 

Это также удалит предупреждения при компиляции.

 Смежные вопросы

  • Нет связанных вопросов^_^