gpt4 book ai didi

.net - 我怎么知道哪个运行时主机当前正在运行我的代码?

转载 作者:行者123 更新时间:2023-12-04 12:54:54 25 4
gpt4 key购买 nike

正如 Microsoft 文档声明的那样 Runtime Hosts .NET 有多个运行时主机来支持和执行我们的应用程序的代码,我的问题是我如何知道 Microsoft 运行时主机的哪些运行时主机正在托管我的代码。

我正在使用 C# 语言开发 dll 类库,该类库可由各种运行时主机使用和/或托管,因此我需要知道哪个运行时主机现在托管我的代码以满足指定条件。

最佳答案

实际上有一种非常简单的方法可以确定 CLR 的当前运行时版本。碰巧,Environment.Version如果您的代码由于 SxS(并排)执行而当前在不同的 CLR 中运行,则将返回不同的版本。

要了解在可以同时具有两个运行时的应用程序中的实际工作情况,请查看 this article on Demonstrating Side by Side execution .

if(Environment.Version.StartsWith("2.0"))
System.Console.WriteLine("Inside .NET CLR 2.0");
else if(Environment.Version.StartsWith("4.0"))
System.Console.WriteLine("Inside .NET CLR 4.0");
else
System.Console.WriteLine("Unknown .NET version");

请注意,.NET 2.0 加载器将加载可用的 .NET 2.0 的最新 CLR,在大多数情况下将是 .NET 3.5。在一个进程中并排运行不同版本的 .NET 2.0 是不可能的。也不可能 to run .NET 1.0 or .NET 1.1 side by side with .NET 2.0 in .NET 4.0 (虽然可以在 .NET 4.0 中并排运行 1.0 或 1.1)。

关于.net - 我怎么知道哪个运行时主机当前正在运行我的代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17040204/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com