编译.net .net Core程序 代码,仅做备份
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了编译.net .net Core程序 代码,仅做备份,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3315字,纯文字阅读大概需要5分钟。
内容图文
![编译.net .net Core程序 代码,仅做备份](/upload/InfoBanner/zyjiaocheng/836/8a29601076d743d48752e11b058a0705.jpg)
![编译.net .net Core程序 代码,仅做备份 - 文章图片](/upload/getfiles/0001/2021/5/6/20210506043843597.jpg)
![编译.net .net Core程序 代码,仅做备份 - 文章图片](/upload/getfiles/0001/2021/5/6/20210506043843708.jpg)
//创建一个ProcessStartInfo对象 使用系统shell 指定命令和参数 设置标准输出 //编译.net core项目 var psi = new ProcessStartInfo("dotnet", "build inputproject/Lord.Core.sln") { RedirectStandardOutput = true }; psi.WindowStyle = ProcessWindowStyle.Hidden; StringBuilder buildlog = new StringBuilder(); //启动 var proc = Process.Start(psi); if (proc == null) { Console.WriteLine("Can not exec."); } else { //开始读取 using (var sr = proc.StandardOutput) { while (!sr.EndOfStream) { Console.WriteLine(sr.ReadLine()); buildlog.Append(sr.ReadLine() + "\r\n"); } if (!proc.HasExited) { proc.Kill(); } } if (proc.ExitCode == 0) { Console.WriteLine("编译通过"); } else { Console.WriteLine("编译未通过"); Console.WriteLine(buildlog.ToString()); } } var allfiles = Directory.GetFiles("inputproject", "*.dll", new EnumerationOptions() { RecurseSubdirectories = true }); var filterfiles = new List<string>(); var files = new List<string>(); foreach (var item in allfiles) { if (!filterfiles.Contains(Path.GetFileName(item))) { files.Add(item); filterfiles.Add(Path.GetFileName(item)); } } List<Type> lsttypes = new List<Type>(); foreach (var item in files) { Assembly assembly = Assembly.LoadFile(Path.GetFullPath(item)); try { var types = assembly.GetTypes(); foreach (var tp in types) { if (tp.BaseType == typeof(System.Enum)) { Console.WriteLine("Enum:" + tp.Name); } else if (tp.IsPublic && !tp.IsInterface && !tp.IsAbstract) { lsttypes.Add(tp); } } } catch { continue; } } foreach (var tp in lsttypes) { Console.WriteLine(string.Concat("class:" + tp.FullName)); foreach (var item in tp.GetProperties()) { Console.Write(item.Name + "|" + item.PropertyType + " "); } Console.WriteLine(); Console.WriteLine(); } Console.ReadKey();编译.net core项目
![编译.net .net Core程序 代码,仅做备份 - 文章图片](/upload/getfiles/0001/2021/5/6/20210506043843597.jpg)
![编译.net .net Core程序 代码,仅做备份 - 文章图片](/upload/getfiles/0001/2021/5/6/20210506043843708.jpg)
var process = new ProcessStartInfo("C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/MSBuild/15.0/Bin/MSBuild.exe", " E:/workZZF/src/SKIAD/LORD.SKIAD.WEB.sln /m /p:Platform=\"Any CPU\";CleanFile=\"true\";WarningLevel=0 /t:rebuild") { RedirectStandardOutput = true }; var x = Process.Start(process); if (x == null) { Console.WriteLine("null"); return; } //开始读取 using (var sr = x.StandardOutput) { while (!sr.EndOfStream) { Console.WriteLine(sr.ReadLine()); //buildlog.Append(sr.ReadLine() + "\r\n"); } if (!x.HasExited) { x.Kill(); } } if (x.ExitCode == 0) { Console.WriteLine("编译通过"); } else { Console.WriteLine("编译未通过"); // Console.WriteLine(buildlog.ToString()); } var allfiles = Directory.GetFiles("E:\\workZZF\\src\\SKIAD", "*.dll", new EnumerationOptions() { RecurseSubdirectories = true }); var filterfiles = new List<string>(); var files = new List<string>(); foreach (var item in allfiles) { if (!filterfiles.Contains(Path.GetFileName(item))) { files.Add(item); filterfiles.Add(Path.GetFileName(item)); } } List<Type> lsttypes = new List<Type>(); foreach (var item in files) { try { Assembly assembly = Assembly.LoadFile(Path.GetFullPath(item)); var types = assembly.GetTypes(); foreach (var tp in types) { if (tp.BaseType == typeof(System.Enum)) { Console.WriteLine("Enum:" + tp.Name); } else if (tp.IsPublic && !tp.IsInterface && !tp.IsAbstract) { lsttypes.Add(tp); } } } catch { continue; } } foreach (var tp in lsttypes) { Console.WriteLine(string.Concat("class:" + tp.FullName)); foreach (var item in tp.GetProperties()) { try { Console.Write(item.Name + "|" + item.PropertyType + " "); } catch { continue; } } Console.WriteLine(); } / Console.ReadKey();编译.net 项目 需要配置MSbuild.exe的位置,全路径
内容总结
以上是互联网集市为您收集整理的编译.net .net Core程序 代码,仅做备份全部内容,希望文章能够帮你解决编译.net .net Core程序 代码,仅做备份所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。