/// <summary> /// 動態編譯並執行代碼 /// </summary> /// <param name="code">代碼</param> /// <param name="newPath">輸出dll的路徑</param> /// <returns>返回輸出內容</returns> private CompilerResults debugRun(string[] code, string newPath) { CSharpCodeProvider complier = new CSharpCodeProvider(); //設置編譯參數 CompilerParameters paras = new CompilerParameters(); //引入第三方dll paras.ReferencedAssemblies.Add(@"System.dll"); paras.ReferencedAssemblies.Add(@"System.configuration.dll"); paras.ReferencedAssemblies.Add(@"System.Data.dll"); paras.ReferencedAssemblies.Add(@"System.Management.dll"); paras.ReferencedAssemblies.Add(@"System.Web.dll"); paras.ReferencedAssemblies.Add(@"System.Xml.dll"); paras.ReferencedAssemblies.Add(@"F:\AuthorizationService\Lib\Newtonsoft.Json\Net20\Newtonsoft.Json.dll"); //引入自定義dll //paras.ReferencedAssemblies.Add(@"D:\自定義方法\自定義方法\bin\LogHelper.dll"); //是否內存中生成輸出 paras.GenerateInMemory = false; //是否生成可執行文件 paras.GenerateExecutable = false; paras.OutputAssembly = newPath; //編譯代碼 CompilerResults result = complier.CompileAssemblyFromSource(paras, code); return result; }
