clr相关内容

如何获取我的应用程序创建的应用程序域列表?

我有一个服务应用程序,它在用于长时间运行的任务的过程中创建 AppDomain.我一直通过将它们存储在具有唯一 ID 的 Hashtable 中来跟踪它们. 任务完成后,服务应用会卸载分配给该任务的 AppDomain,然后将其从 appdomain Hashtable 中删除. 纯粹从健全性检查的角度来看,有没有办法可以查询 CLR 以查看创建应用程序域仍在加载哪些应用程序域(即,我 ..
发布时间:2021-11-16 19:15:01 C#/.NET

.Net CLR 卸载与关闭?

是什么导致调用 Finalize 方法? 此问题的 2 个答案(共 4 个)是: CLR 正在卸载 AppDomain 当 AppDomain 卸载时,CLR 认为AppDomain 中没有任何内容可以作为根,以及由以下内容组成的垃圾收集执行所有代. CLR 正在关闭 CLR 在进程正常终止时关闭(例如,与通过任务管理器外部关闭相反). 我假设 CLR 正在卸载 AppDo ..
发布时间:2021-11-16 19:13:13 C#/.NET

在 .NET 4.0 进程中创建 .NET 2.0 AppDomain

我需要从我的 .NET 4.0 进程中动态创建一个与 .NET 2.0 兼容的程序集.目前它是通过这个实现的: AssemblyBuilder ab = AppDomain.CurrentDomain.DefineDynamicAssembly(...)ModuleBuilder mb = assemblyBuilder.DefineDynamicModule(...); 但不幸的是,所有生成 ..
发布时间:2021-11-16 19:13:01 C#/.NET

在不同的 AppDomain 中加载具有依赖项的程序集

我的目标是在 2 个给定文件夹之间进行缺失的依赖关系检查.想象一下以下设置. Root\DirA\A.dll Root\DirB\B.dll B 依赖于 A. 因此,鉴于这些文件夹,我想创建一个新的 AppDomain,加载 B.dll 并在该新 AppDomain 中自动解析和隔离来自 DirA(A.dll) 的依赖项. 隔离是这里的关键,因为当我卸载这个 AppD ..
发布时间:2021-11-16 19:09:38 C#/.NET

从字节数组加载时找不到 AppDomain 程序集

请耐心等待,我花了 30 多个小时试图完成这项工作 - 但没有成功. 在我的程序开始时,我在字节数组中加载一个程序集(dll),然后将其删除. _myBytes = File.ReadAllBytes(@“D:\Projects\AppDomainTest\plugin.dll"); 稍后在程序中我创建了一个新的 Appdomain,加载字节数组并枚举类型. var domain = ..
发布时间:2021-11-16 19:08:37 C#/.NET

默认应用程序域的卸载事件?

是否有Unload 事件,或任何 事件、通知、消息、机制或钩子,我可以使用它在“默认值之前收到通知“ 应用程序域被卸载? 我有代码需要知道应用程序域(几乎总是默认域)何时结束. 注意:我不知道开发人员在使用我的代码时会创建什么样的应用程序.可能是: 控制台应用程序 一个 WinForms 应用程序 一个 ASP.net 应用程序 一个 ASP.net 网站 运行时可调用包 ..
发布时间:2021-11-16 19:06:50 C#/.NET

将不同版本的程序集加载到单独的 AppDomain 中

我正在实现支持插件的应用程序.目前,当我尝试加载由宿主应用程序和插件使用的通用程序集时出现问题:宿主应用程序应该使用该程序集的一个版本,而插件使用另一个版本.这是由应用程序升级决定的进程 - 插件可以与宿主应用程序分开更新. 每个程序集都经过签名,因此我使用强名称来加载程序集. 我创建了一个测试应用程序来演示该问题.插件程序集位于宿主应用程序的子文件夹“插件"中.Plugin文件夹包含 ..
发布时间:2021-11-16 19:06:38 C#/.NET

“对象已断开连接或在服务器上不存在"例外

我需要在我的应用中使用跨应用域调用,有时我会遇到这个 RemotingException: 对象 '/2fa53226_da41_42ba_b185_ec7d9c454712/ygiw+xfegmkhdinj7g2kpkhc_7.rem' 已断开连接或在服务器上不存在. 目标对象还活着,我已经检查过了. UPD 我在目标对象的终结器中设置了断点,但它从未命中.因此,这个对象是存活 ..
发布时间:2021-11-16 19:06:29 C#/.NET

.NET Core 中没有 AppDomains!为什么?

微软选择在 .NET Core 中不支持 AppDomains 是否有充分的理由? AppDomains 在构建长时间运行的服务器应用程序时特别有用,我们可能希望在不关闭服务器的情况下以一种优雅的方式更新服务器加载的程序集. 如果没有 AppDomains,我们将如何在长时间运行的服务器进程中替换我们的程序集? AppDomains 还为我们提供了一种隔离服务器代码不同部分的方法 ..
发布时间:2021-11-16 19:06:05 C#/.NET

.NET 中 API 突破性更改的权威指南

我想收集尽可能多的关于 .NET/CLR 中 API 版本控制的信息,特别是 API 更改如何破坏或不破坏客户端应用程序.首先,让我们定义一些术语: API 更改 - 类型的公开可见定义的更改,包括其任何公共成员.这包括更改类型和成员名称、更改类型的基类型、从类型的已实现接口列表中添加/删除接口、添加/删除成员(包括重载)、更改成员可见性、重命名方法和类型参数、添加默认值对于方法参数,添加/ ..
发布时间:2021-11-15 00:15:05 C#/.NET

静态成员变量未在 Release 中初始化 - 编译器/clr 错误?

预期产出&在 VS2010、.NET 4.0 下我进入调试模式和发布模式的输出: 条形结构主要的 发布模式下的输出不是在 VS2010 调试器和 WinDbg 下: main 程序在 VS2005、.NET 2.0 上不会出现这种行为 使用系统;命名空间 static_init{公共课吧{公共栏(){Console.WriteLine("bar 构造");}}课程计划{public st ..
发布时间:2021-10-26 15:47:32 C#/.NET

无法找到运行时 clr.dll 以使用 sos

我有一个简单的控制台应用程序(目标框架 4.5.2): 使用系统;公开课 SosTest{公开课 Foo{公共 Foo(){Console.WriteLine("创建 foo");}}static void Main(string[] args){var n1 = new Foo();var n2 = new Foo();Console.WriteLine("分配的对象");Console.Wr ..
发布时间:2021-09-25 19:29:44 C#/.NET

是否必须在Win32中运行CLR类库?

我在VS2017中创建了一个CLR项目. 包含: CLR类库(C ++).NET Framework 4.5 C#ConsoleApp 在库中定义了一个简单的ref类.该类是从我的C#代码中调用的.我对它的性能很好,但是它并不总是能正常工作. 这取决于我的运行方式. “调试"和"x86"有效 “调试"和"x64"不起作用 “发布"和"x86"有效 “发布"和" ..
发布时间:2021-04-22 19:42:16 C#/.NET

使用通用类型的类在WINDBG SOS中设置断点

在Windbg中寻求SOS扩展命令!BPMD的帮助(即键入!help BPMD )会导致文本,其中包含除其他外的说明,介绍了如何分解为通用类型的方法.内容如下: !BPMD与泛型类型同样适用.在泛型上添加断点类型在所有已经JIT限定的通用方法上设置断点,并设置未决将来将进行JIT-ted的任何实例的断点.泛型示例:给定以下两类:类别G3{...公共空白F(T1 p1,T2 ..
发布时间:2021-04-22 19:42:13 其他开发

单击标题时对ListView进行排序

我需要基于ListView标头的单击来对ListView上的内容进行排序.我正在使用C ++/CLI,所以我得到了 ListViewColumnSorter.cpp //////此类是"IComparer"接口的实现.///#include"ListViewColumnSorter.h"ListViewColumnSorter :: ListView ..
发布时间:2021-04-22 19:42:10 C#/.NET

Python-"KeyError:System.Object";-Pyadomd-查询SSAS数据源

正在研究一个项目,我正在尝试通过Python查询我们正在使用的SSAS数据源.该连接目前在Excel文件中,但是我正尝试使用Python进行反向工程,以自动化我每天进行的部分分析...我使用pyadomd库连接到数据源,这里我的代码: clr.AddReference(r"C:\ Program Files(x86)\ Microsoft Office \ root \ vfs \ Progr ..
发布时间:2021-04-22 19:42:07 其他开发

如何避免安装Visual C ++可再发行的大文件?

我想在Windows 7 32位客户端上部署C ++/CLI应用程序.我已经使用Visual Studio 2017构建了它,我注意到我的项目需要Visual C ++ 2017 Redistributable. 我的可执行文件小于1兆字节,MSVCR依赖项为13兆字节,对于这个应用程序来说确实很大. 有什么办法可以减小这种尺寸? 解决方案 我找到了可能的解决方案,但我不知道它 ..
发布时间:2021-04-22 19:42:02 其他开发

C#4和CLR兼容性

版本4的C#的所有附加功能(动态,代码合同等)是否都希望在当前的.NET CLR上运行,或者是否有计划的.NET升级? 解决方案 C#4将需要.NET 4.0 CLR. ..
发布时间:2021-04-22 19:41:59 C#/.NET

具有C#抛出错误的CLR存储过程

嗨,我正在使用C#制作CLR存储过程,为此我将通过示例进行学习. 下面是我现在正在尝试的 公共静态无效GetProductsByPrice(int price){SqlConnection连接=新的SqlConnection("context connection = true");connection.Open();string commandText ="SELECT * FROM产品 ..
发布时间:2021-04-22 19:41:56 C#/.NET