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)
相关推荐
妮妮学代码6 小时前
c#:TCP服务端管理类
java·tcp/ip·c#
SchuylerEX7 小时前
第六章 JavaScript 互操(2).NET调用JS
前端·c#·.net·blazor·ui框架
★YUI★7 小时前
学习游戏制作记录(制作系统与物品掉落系统)8.16
学习·游戏·ui·unity·c#
mit6.82416 小时前
Linux下C#项目构建
开发语言·c#
Nita.17 小时前
.NET 中的延迟初始化:Lazy<T> 与LazyInitializer
c#·.net
好望角雾眠1 天前
第一阶段C#基础-10:集合(Arraylist,list,Dictionary等)
笔记·学习·c#
忒可君1 天前
C# winform FTP功能
开发语言·windows·c#
时光追逐者1 天前
C#/.NET/.NET Core技术前沿周刊 | 第 50 期(2025年8.11-8.17)
c#·.net·.netcore·.net core
一个会的不多的人2 天前
C# NX二次开发:操作按钮控件Button和标签控件Label详解
开发语言·c#
咕白m6252 天前
C# 实现 PDF 转图片 - 分辨率设置、图片格式选择
后端·c#