CSharpCodeProvider codeProvider = new CSharpCodeProvider();
ICodeCompiler MyCompiler = codeProvider.CreateCompiler();
CompilerParameters myParameters = new CompilerParameters();
myParameters.GenerateExecutable = true;
myParameters.OutputAssembly = @"prog.exe";
myParameters.TreatWarningsAsErrors = false;
CompilerResults results = myCompiler.CompileAssemblyFromFile(myParameters,"prog.txt");
如何编写此代码以消除此警告:
System.CodeDom.Compiler.CodeDomProvider.CreateCompiler()‘是过时的:“调用者不应该使用ICodeCompiler接口,而应该直接在CodeDomProvider类上使用方法。那些继承自CodeDomProvider的方法仍然必须实现这个接口,并且应该排除这个警告,或者也淘汰这个方法。**
发布于 2013-01-18 19:23:26
使用this method代替:
CodeDomProvider provider = CodeDomProvider.CreateProvider("CSharp");
扩展:
if (CodeDomProvider.IsDefinedLanguage(language))
{
CodeDomProvider provider = CodeDomProvider.CreateProvider(language);
// ...
}
else
Console.WriteLine("ERROR");
发布于 2014-06-10 18:59:23
CSharpCodeProvider codeProvider = new CSharpCodeProvider();
CompilerParameters myParameters = new CompilerParameters();
myParameters.GenerateExecutable = true;
myParameters.OutputAssembly = @"prog.exe";
myParameters.TreatWarningsAsErrors = false;
CompilerResults results = codeProvider.CompileAssemblyFromFile(myParameters, "prog.txt");
https://stackoverflow.com/questions/14406049
复制相似问题