CodeDomProvider.CreateCompiler()已经过时了
本文关键字:过时 CreateCompiler CodeDomProvider | 更新日期: 2023-09-27 17:54:31
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继承的人必须仍然实现这个接口,并且应该排除这个警告,或者也取消这个方法。**
请使用以下方法:
CodeDomProvider provider = CodeDomProvider.CreateProvider("CSharp");
扩展:if (CodeDomProvider.IsDefinedLanguage(language))
{
CodeDomProvider provider = CodeDomProvider.CreateProvider(language);
// ...
}
else
Console.WriteLine("ERROR");
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");