CSharpCodeProvider не возвращает предупреждения компилятора при отсутствии ошибок.C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 CSharpCodeProvider не возвращает предупреждения компилятора при отсутствии ошибок.

Сообщение Anonymous »

Я использую класс CSharpCodeProvider для компиляции сценария C#, который использую в качестве DSL в своем приложении. Если есть предупреждения, но нет ошибок, свойство Errors результирующего экземпляра CompilerResults не содержит элементов. Но когда я ввожу ошибку, предупреждения внезапно появляются и в свойстве Errors.

Код: Выделить всё

string script = @"
using System;
using System; // generate a warning
namespace MyNamespace
{
public class MyClass
{
public void MyMethod()
{
// uncomment the next statement to generate an error
//intx = 0;
}
}
}
";

CSharpCodeProvider provider = new CSharpCodeProvider(
new Dictionary()
{
{ "CompilerVersion", "v4.0" }
});

CompilerParameters compilerParameters = new CompilerParameters();
compilerParameters.GenerateExecutable = false;
compilerParameters.GenerateInMemory = true;

CompilerResults results = provider.CompileAssemblyFromSource(
compilerParameters,
script);

foreach (CompilerError error in results.Errors)
{
Console.Write(error.IsWarning ? "Warning: " : "Error: ");
Console.WriteLine(error.ErrorText);
}
Так как мне получить предупреждения, когда ошибок нет?
Кстати, я не хочу устанавливать TreatWarningsAsErrors истинно.

Подробнее здесь: https://stackoverflow.com/questions/303 ... -no-errors
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»