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)
相关推荐
淡海水14 小时前
09-04-内存-Unity原生对象生命周期
unity·c#·游戏引擎·gc
吴可可12317 小时前
富怡CAD二次开发指南
c#
1-1=017 小时前
C# IO和序列化
c#·.net·.netcore
寂寞的船19 小时前
【Unity Bug挑战】第10期 SerializeReference 内存泄漏之谜
unity·c#·游戏引擎·bug
CSharp精选营19 小时前
从控制台到「会动手」的 AI:用 Semantic Kernel 搭应用(小白教程)
c#·.net·ai agent·semantickernel·functioncalling
宝桥南山2 天前
.NET 11 - 尝试一下Blazor中的新特性SupplyParameterFromTempData
microsoft·微软·c#·asp.net·.net·.netcore
1-1=02 天前
C# 中 Lambda、Linq 与 Expression
c#·linq
zhanghaha13142 天前
C# 系列教程_7 判断语句(分支)保姆级精讲
开发语言·c#
zhanghaha13142 天前
C# 系列教程_8 循环语句 保姆级精讲(面向新手)
开发语言·c#
rockey6272 天前
AScript之LINQ扩展
c#·.net·script·动态脚本