clr相关内容

是否可以克隆ValueType?

在已知对象是盒装ValueType的情况下,是否可以在不编写特定于类型的克隆代码的情况下克隆该对象? 一些代码供参考 List values = new List {3, DateTime.Now, 23.4M}; DuplicateLastItem(values); 我遇到的主要问题是基于值堆栈的虚拟指令机。(我懒得写typeof(In ..
发布时间:2022-04-14 10:57:11 C#/.NET

为什么泛型类型不能有显式布局?

如果尝试使用[(.Explicit)]属性创建泛型结构,则使用该结构会在运行时生成异常: System.TypeLoadException:无法从程序集‘bar’加载类型‘foo’,因为泛型类型不能具有显式布局。 我一直很难找到任何证据证明这一限制的存在。Type.IsExplicitLayout文档强烈暗示它是允许和支持的。有人知道为什么这是不允许的吗?我想不出任何原因,为什么泛型类 ..
发布时间:2022-04-14 10:54:52 C#/.NET

.NET应用程序中是否需要ret指令?

我注意到C#编译器在void方法的末尾生成ret指令: .method private hidebysig static void Main(string[] args) cil managed { // method body L_0030: ret } 我已经为.NET编写了一个编译器,无论我是否发出ret语句(我已经检查了生成的IL,它确实不在其中),它都能正常 ..
发布时间:2022-04-14 10:51:22 C#/.NET

ASP.NET CLR未启用

运行应用程序时,我在新安装的ASP.NET和SQL Server上收到以下错误: Execution of user code in the .NET Framework is disabled. Enable "clr enabled" configuration option 我已尝试通过运行以下命令来修复它: use dasolPSDev; sp_configure ..
发布时间:2022-04-14 10:50:13 C#/.NET

C#7引用类型的引用返回

我正在浏览一些代码,这些代码使用C#7的新功能并使用引用本地变量和返回功能。 对于value-types,其中ref局部变量获取引用(对实际存储空间)的引用,以及更新更新原始项的值,似乎非常简单。 稍加解释将有助于理解reference-types在引用局部变量时内存引用是如何工作的。我指向下面代码的最后一行: // A simple class public class CoolC ..
发布时间:2022-04-09 23:48:22 C#/.NET

链接C++和C++/CLI项目(.NET Core)时出现导入错误(E0337)

我当前正在尝试设置.NET项目。我有一个用c++编写的现有Back项目,我想在Web界面上显示它。为此,我正在尝试通过CLR Class Library.NET Core将我的C++链接到.NET平台(并最终将其链接到ASP.NET Web界面,但这是下一步)。 当我尝试将原始文件导入到C++/CLI项目时出现问题。当我尝试导入的文件使用C++向量(#include )时,我 ..
发布时间:2022-03-15 20:56:52 C#/.NET

HAA0502显式新引用类型分配

我有ASP.Net Core 2.1,C#应用程序。我正在使用Clr堆分配分析器 https://marketplace.visualstudio.com/items?itemName=MukulSabharwal.ClrHeapAllocationAnalyzer 其中一种方法如下所示 执行#1 public void ConfigureServices(IService ..
发布时间:2022-03-15 09:00:21 C#/.NET

.NET CLR线程池耗尽-实现错误?

我编写了一个简单的基于异步的负载测试库,它还有一个可以从命令行进行测试的控制台界面。 基本上,它并发运行大量请求,聚合它们,并显示摘要和简单的直方图。没什么花哨的。但是我在本地系统中运行了很多测试,所以我想确保测试工具尽可能使用最少的资源来实现相对准确的基准测试。因此,它使用带有BEGIN/END方法的纯异步来维护最低开销。 全部完成,完全异步,它可以工作,并且不会妨碍工作(好吧,大部分情 ..
发布时间:2022-02-24 20:59:23 C#/.NET

ValueTypes 如何从 Object (ReferenceType) 派生并且仍然是 ValueTypes?

C# 不允许结构派生自类,但所有 ValueTypes 都派生自 Object.这种区别在哪里? CLR 如何处理这个问题? 解决方案 C# 不允许结构派生自类 您的陈述不正确,因此您感到困惑.C# 确实 允许结构派生自类.所有结构都派生自同一个类 System.ValueType,后者派生自 System.Object.并且所有枚举都派生自 System.Enum. ..
发布时间:2022-01-31 16:22:01 C#/.NET

如何在 Mono 下获得可用的虚拟和物理内存大小?

在 Mono 下运行时,有没有办法获得可用虚拟和物理内存大小? 解决方案 你可以使用 "free" 命令的这个实现 (UNIX) 找出已用和可用的物理内存(恕我直言,这是最好的选择): 使用系统;使用 System.Text.RegularExpressions;使用 System.IO;命名空间 FreeCSharp{类主类{公共静态无效主要(字符串[]参数){FreeCSharp 免 ..
发布时间:2022-01-23 15:26:25 C#/.NET

将 .NET 应用程序转换为 x86 本机代码

有一个完全用 C# 编写的针对 .NET Framework 2.0 的程序.有没有一种方法可以以某种方式将托管的 EXE 编译(翻译)为本机的,这样它就可以与 .NET 无关?我知道可能有用于此目的的商业产品......但它们有点贵. 问题是我们要在没有安装 .NET Framework 的运行 Windows XP 的计算机上部署程序.还要求程序的大小不得超过 500Kb(最大 1Mb) ..
发布时间:2022-01-23 14:35:22 C#/.NET

如何检测正在使用哪个 .NET 运行时(MS 与 Mono)?

我想知道在程序执行期间是使用 Mono 运行时还是 Microsoft 运行时执行的. 我目前正在使用以下代码来确定我是否在 MS CLR 上: 静态布尔 IsMicrosoftCLR(){返回 RuntimeEnvironment.GetRuntimeDirectory().Contains("Microsoft");} 但是,这在某种程度上取决于运行时的安装文件夹,我不确定这是否适用 ..
发布时间:2022-01-23 14:30:29 C#/.NET

垃圾收集器如何知道堆栈帧上的引用?

现代垃圾收集器(如在 CLR、JVM 中)使用哪些技术来判断堆栈中引用了哪些堆对象? 具体来说,VM 如何从知道堆栈开始的位置返回到解释所有对堆对象的本地引用? 解决方案 在 Java 中(很可能在 CLR 中,虽然我不太了解它的内部结构),字节码是用对象与原始信息输入的.因此,字节码中有数据结构来描述每个堆栈帧中的哪些变量是对象,哪些是原语.当 GC 需要扫描根集时,它使用这些 S ..
发布时间:2022-01-22 12:49:11 其他开发

C# 中的堆栈容量

谁能告诉我 C# 中的堆栈容量是多少. 我正在尝试使用包含 30,000 个项目的数组来形成一个 3D 网格封闭对象. 解决方案 .NET 应用程序的默认堆栈大小为 1 MB(32 位 ASP.NET 应用程序的默认堆栈大小为 256 KB,64 位 ASP 的默认堆栈大小为 512 KB.NET 应用程序),但您可以更改它.对于应用程序,您可以通过修改可执行文件的 PE 标头来更改 ..
发布时间:2022-01-22 12:03:44 C#/.NET

用于多个平台的 Mono 中的串行端口 (rs232)

我正计划在 .NET 中重新编写一个 Win32 应用程序(本机 C++)——很可能使用单声道,这样我就可以在 Win32、Linux 和 mac 上运行它.我试图解决的问题(仅真正为 Win32 开发)是串行端口定义的问题.当只有一个可执行文件时,通常如何识别平台差异.具体来说,COM 端口在 Windows 中被标识为 COM1 或类似的东西 (\.\COM),但在 linux 上它们被指定为 ..
发布时间:2022-01-18 14:44:22 C#/.NET

CLR 与 JIT

JIT 编译器和 CLR 有什么区别?如果您将代码编译为 il 并且 CLR 运行该代码,那么 JIT 在做什么?向 CLR 添加泛型后,JIT 编译有何变化? 解决方案 JIT 是 CLR 的一个方面. 具体来说,它负责将原始语言的编译器(例如 Microsoft c# 的 csc.exe)生成的 CIL(以下称为 IL)更改为当前处理器(以及它在当前处理器中公开的体系结构)的本机 ..
发布时间:2022-01-17 08:19:59 C#/.NET