C#获取当前运行时环境信息

目录

获取框架信息,操作系统信息

csharp 复制代码
   //.net 框架信息
   var kkk = System.Runtime.InteropServices.RuntimeInformation.FrameworkDescription;

   //获取应用程序多少位
   var bbb = System.Runtime.InteropServices.RuntimeInformation.ProcessArchitecture;

   //获取操作系统 多少位?x64? x86?
   var ccc = System.Runtime.InteropServices.RuntimeInformation.OSArchitecture;

   //获取操作系统信息
   var aaa = System.Runtime.InteropServices.RuntimeInformation.OSDescription;

返回结果1:

bash 复制代码
.NET Framework 4.8.9181.0
X64
X64
Microsoft Windows 10.0.22621 

获取当前堆栈跟踪信息,可用于判断是否为单元测试

csharp 复制代码
//当前堆栈跟踪信息,可以判断是否在"单元测试模式"里面;
string stackTrace = System.Environment.StackTrace;

//true则为单元测试环境下,false不是
bool unitTest = System.Environment.StackTrace.IndexOf("NUnit.Framework", StringComparison.CurrentCultureIgnoreCase) >= 0;

//true则为单元测试环境下,false不是
bool uniTest2=System.Environment.StackTrace.IndexOf("TestPlatform.MSTest", StringComparison.CurrentCultureIgnoreCase) >= 0;

返回结果2:

bash 复制代码
在 System.Environment.GetStackTrace(Exception e, Boolean needFileInfo)
   在 System.Environment.get_StackTrace()
   在 UnitTestProject1.UnitTest3.<TestPdf>d__20.MoveNext() 位置 E:\Work\信息报送\zhi_mi_kt_information\V4_WxPush\WuZiFenGongSiInfomation\UnitTestProject1\UnitTest3.cs:行号 344
   在 System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[TStateMachine](TStateMachine& stateMachine)
   在 UnitTestProject1.UnitTest3.TestPdf()
   在 System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   在 System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   在 System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   在 Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Extensions.MethodInfoExtensions.InvokeAsSynchronousTask(MethodInfo methodInfo, Object classInstance, Object[] parameters)
   在 Microsoft.VisualStudio.TestPlatform.MSTestAdapter.PlatformServices.ThreadOperations.ExecuteWithAbortSafety(Action action)
   在 Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestMethodInfo.ExecuteInternal(Object[] arguments)
   在 Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestMethodInfo.Invoke(Object[] arguments)
   在 Microsoft.VisualStudio.TestTools.UnitTesting.TestMethodAttribute.Execute(ITestMethod testMethod)
   在 Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestMethodRunner.RunTestMethod()
   在 Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.TestMethodRunner.Execute()
   在 Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.UnitTestRunner.RunSingleTest(TestMethod testMethod, IDictionary`2 testRunParameters)
相关推荐
唐宋元明清21882 小时前
.NET Win32磁盘动态卷/跨区卷触发“函数不正确”问题排查
windows·c#·存储
hez20102 小时前
Satori GC:同时做到高吞吐、低延时和低内存占用
c#·.net·.net core·gc·clr
唐青枫20 小时前
C#.NET Channel 深入解析:高性能异步生产者消费者模型实战
c#·.net
小峥降临1 天前
Rokid UXR 的手势追踪虚拟中更真实的手实战开发【含 工程源码 和 最终完成APK】
c#
晨星shine5 天前
GC、Dispose、Unmanaged Resource 和 Managed Resource
后端·c#
用户298698530146 天前
.NET 文档自动化:Spire.Doc 设置奇偶页页眉/页脚的最佳实践
后端·c#·.net
用户3667462526746 天前
接口文档汇总 - 2.设备状态管理
c#
用户3667462526746 天前
接口文档汇总 - 3.PLC通信管理
c#
Ray Liang7 天前
用六边形架构与整洁架构对比是伪命题?
java·python·c#·架构设计
Scout-leaf10 天前
WPF新手村教程(三)—— 路由事件
c#·wpf