这个异常指示在代码行CodeDomProvider = cpp.CreateCompiler();
他说方法或操作没有实现
enter image description here
我的代码是
CppCodeProvider cpp = new CppCodeProvider();
CodeDomProvider.IsDefinedLanguage("Cpp");
CodeDomProvider.CreateProvider("cpp");
ICodeCompiler IC = cpp.CreateCompiler();
string Output = "Out.exe";
Button ButtonObject = (Button)sender;
textBox2.Text = "";
CompilerParameters parameters = new CompilerParameters();
parameters.GenerateExecutable = true;
parameters.OutputAssembly = Output;
CompilerResults results = IC.CompileAssemblyFromSource(parameters, textBox1.Text);
if (results.Errors.Count > 0)
{
foreach (CompilerError CompErr in results.Errors)
{
textBox2.Text = textBox2.Text +
"Line number " + CompErr.Line +
", Error Number: " + CompErr.ErrorNumber +
", '" + CompErr.ErrorText + ";" +
Environment.NewLine + Environment.NewLine;
}
}
else
{
//Successful Compile
textBox2.ForeColor = Color.Blue;
textBox2.Text = "Success!";
//If we clicked run then launch our EXE
if (ButtonObject.Text == "Run") Process.Start(Output);
}
1条答案
按热度按时间jaql4c8m1#
简而言之,正如我在注解中所说的,当您添加了一个方法,但没有在该方法中放置任何实现时,通常会发生 Method or Operation Not Implemented 异常。这通常发生在您使用IntelliSense生成方法时,编译器会告诉您“嘿,您需要在这里放置一些东西”。
在方法中加入实作,什至注解例外状况的掷回,都可以解决这里的问题。
我已经说过了,我知道抛出问题的方法不是您的代码,这更多的是为了让您理解错误告诉您的什么。
我认为您尝试执行当前操作的方式可能不正确。在做一些研究并查看MS Learn页面后,您会注意到该页面已 * 过时 *,从.net Framework 2.0开始就已过时。
有关此主题,请参见SO上的类似主题:How to compile C++ Code using CppCodeProvider in C#