在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
string strCode = @" using System; using System.Text; using System.Collections.Generic; using System.Linq; using System.IO; using System.Reflection; namespace aaaa { public class Program { static void Main(string[] args) { GetDoc(""Testdoc.doc""); Console.WriteLine(""输出成功""); Console.ReadLine(); } public static void GetDoc(string name) { try { Assembly ass = Assembly.GetExecutingAssembly(); Stream ss = ass.GetManifestResourceStream(name); if (ss != null) { byte[] buffer = new byte[ss.Length]; ss.Read(buffer, 0, buffer.Length); File.WriteAllBytes(Environment.CurrentDirectory + ""\\ProbeDoc.doc"", buffer); } } catch { Console.WriteLine(""error""); } } } }"; CompilerParameters objCompilerParams = new CompilerParameters(); objCompilerParams.GenerateExecutable = true; //编译成exe还是dll objCompilerParams.GenerateInMemory = false; //是否写入内存,不写入内存就写入磁盘 objCompilerParams.OutputAssembly = "F:\\abcd.exe"; //输出路径 objCompilerParams.IncludeDebugInformation = false; //是否产生pdb调试文件 默认是false objCompilerParams.ReferencedAssemblies.Add("System.dll"); objCompilerParams.ReferencedAssemblies.Add("System.Core.dll"); objCompilerParams.ReferencedAssemblies.Add("Microsoft.CSharp.dll"); objCompilerParams.EmbeddedResources.Add("D:\\Testdoc.doc"); //编译器选项:编译成(存储在内存中)的DLL /*objCompilerParams.CompilerOptions = "/target:library /optimize"; //编译时在内存输出 objCompilerParams.GenerateInMemory = true; //不生成调试信息 objCompilerParams.IncludeDebugInformation = false;*/ //创建编译类 CSharpCodeProvider objCompiler = new CSharpCodeProvider(); //进行编译 CompilerResults objCompileResults = objCompiler.CompileAssemblyFromSource(objCompilerParams, strCode); //获取编译结果:程序集 Assembly objAssembly = objCompileResults.CompiledAssembly; ////获取编译成的程序集的信息 //object objMainClassInstance = objAssembly.CreateInstance("Program"); //Type objMainClassType = objMainClassInstance.GetType(); ////调用程序集中的类,执行类中的方法,得到结果 //objMainClassType.GetMethod("Main").Invoke(objMainClassInstance, null); //objMainClassType.GetMethod("PrintWorld").Invoke(objMainClassInstance, null);
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论