Csharpcodeprovider, кажется, застрял на .net 2.0, как мне получить новые функции?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Csharpcodeprovider, кажется, застрял на .net 2.0, как мне получить новые функции?

Сообщение Anonymous »

У меня есть следующий, довольно стандартный код в качестве обертки вокруг csharpcodeprovider . Этот класс работает очень хорошо, отлично работает и т. Д., И т. Д. Но, несмотря на то, что мое приложение построено против .NET 3.5 и ссылается на сборки V3.5 при выполнении этого компиляции, я все еще не получаю доступ ни к одному из дополнительных синтаксисов C# 3.5, такими как Lambda's или Автоперперти. Есть ли способ заставить это работать?

Я был под впечатлением, что этот класс только что обернулся вокруг csc.exe , идея, которая, по -видимому, подтверждена моим брандмауэром (мое приложение пытается получить доступ к CSC.Exe ). Возможно, мне просто нужно установить Options.compileroptions < /code> на что -то?

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

protected virtual void Compile()
{
Microsoft.CSharp.CSharpCodeProvider csProvider = new Microsoft.CSharp.CSharpCodeProvider();

CompilerParameters options = new CompilerParameters();
options.GenerateExecutable = false;
options.GenerateInMemory = true;
options.IncludeDebugInformation = true;

foreach (string s in this.ReferencedAssemblies)
{
options.ReferencedAssemblies.Add(s);
}

CompilerResults result;
string source = this.CodeTemplate;

// [snip] Do some manipulation to fill in the template with values.

result = csProvider.CompileAssemblyFromSource(options, source);

this.HasErrors = result.Errors.HasErrors;
this.Errors = new CompilerError[result.Errors.Count];
result.Errors.CopyTo(Errors, 0);

if (HasErrors && ThrowOnErrors)
throw new InvalidProgramException("The code currently stored in the " + this.GetType() + " cannot be compiled.");
else if (HasErrors)
return;
this.CompiledAssembly = result.CompiledAssembly;
}
edit:

У меня есть ссылки на mscorlib , system.core , system.text и одну из моих собственных собраний на данный момент.

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

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

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

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

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

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

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