実行時にアプリケーションのコードを動的に作成できるように、CodeDomを動作させようとしています。しかし、多くのチュートリアルや試行錯誤の末、私は私が合格できないような問題に遭遇しました。私はそれがまさにそうであるように見えるコードでコンパイラーのエラーを取得し続けます。自分のコードのどこにでも '\'がないときは、「認識できないエスケープシーケンス '\'」を取得します。CodeDomコンパイラfor C#
私が手にエラーがここでは1行目にすべてです、彼らは順序である: CS1009 CS1056(行で3回) CS0116
ここで私が持っているものです。
コードであることコンパイル:
using System;
using System.Windows.Forms;
namespace sdjkfhj
{
public class Sample
{
public static void main()
{
MessageBox.Show("Working");
return;
}
}
}
およびコンパイラのコードは次のとおりです。
public void Compile(string file)
{
var prov = new Dictionary<string, string>();
prov.Add("CompilerVersion", "v2.0");
CSharpCodeProvider c = new CSharpCodeProvider();
ICodeCompiler comp = c.CreateCompiler();
CompilerParameters param = new CompilerParameters();
param.GenerateExecutable = true;
param.OutputAssembly = file + ".exe";
param.ReferencedAssemblies.Add("System.dll");
param.ReferencedAssemblies.Add("System.Windows.Forms.dll");
if (c.Supports(GeneratorSupport.EntryPointMethod))
param.MainClass = "Sample";
CompilerResults results = comp.CompileAssemblyFromSource(param, file);
if (results.Errors.Count > 0)
{
foreach (CompilerError CompErr in results.Errors)
{
MessageBox.Show("Line number " + CompErr.Line + ", Error Number: " + CompErr.ErrorNumber + ", '" + CompErr.ErrorText + ";" + Environment.NewLine + Environment.NewLine);
}
}
}
私はそれを正しくコンパイルするつもりはないのですか?私は行方不明のものがありますか?私はここで一種迷っています。前もって感謝します。
?それはVSでコンパイルしていますか? –
はずの 'CompileAssemblyFromSourceは()' 'のソースが含まれています'ファイルの代わりに'? – C4u