clr相关内容

.NET集合和大对象堆(LOH)

是.NET集合与大量物品易于被存储在所述的LOH? 我很好奇列表和字典明确。在我的code,我店比较小的物体大量(40K +)(可以说1K)的临时列表和Dictionarys进行处理。有没有项目在这些集合的数量增加被提上LOH的可能性有多大? 有关名单,假设名单是作为一个双向链表,那么元素的数目应该不会增加实际List对象的大小,但我想知道。 感谢 解决方案 对象将只存储在蕙,如果他们超 ..
发布时间:2015-11-24 20:13:49 C#/.NET

为什么一台机器使用.NET 4安装在其上不能运行一个exe,有​​针对性.NET 4.5,而如果他们使用相同的CLR版本?

在公共语言运行库(CLR)微软网页,它说,4和4.5两个.Net框架使用CLR版本4。 然而,在此页面( .NET Framework版本和依赖)将其写入“.NET Framework版本4.5包含CLR 4的升级版” 还写道: 是面向.NET Framework 4.5.1的可执行文件将被从只有安装了.NET Framework 4.5的计算机上运行受阻,用户将被提示安装.NET Fram ..
发布时间:2015-11-24 16:29:28 C#/.NET

请问C#的内联属性?

请问C#在线访问属性?我知道对JIT内联的32字节(指令?)限制,但将它内联属性或只的纯的方法调用? 解决方案 这是给了JIT(C#编译器不会做任何内联,据我所知),但我相信JIT将内联琐碎的性能在大多数情况下 请注意,它的不会的类型的内联成员 MarshalByRefObject的导出其中包括 System.Windows.Forms的。控制(通过 System.ComponentMode ..
发布时间:2015-11-24 16:27:47 C#/.NET

将.NET 4.5引入了CLR的新版本?

在过去不是.NET的每一个新版本附带的CLR的新版本。我知道.NET 1.0,1.1,2.0和4.0做了,但是.NET 3.0和3.5都没有。 将.NET 4.5引入一个新的CLR?而一个人如何判断是否有一个新的CLR? 解决方案 是,.NET 4.5有一个品牌崭新的CLR的新版本,你可以阅读有关的改进在; 要澄清;这是CLR的一个新版本,实际上的替换的4.0之一,所以无论把它称为更新或新 ..
发布时间:2015-11-24 16:18:44 C#/.NET

在Visual Studio 2012 RC的Windows窗体应用程序CLR?

快速的问题,我只是尝试VS2012,并试图使C ++ .NET的应用程序,但对我的生活,我不能做一个新项目时发现了该选项。 在VS2008它使用的是在新项目>的V​​isual C ++> CLR> WINDWOS窗体应用程序。 他们有去除,使C ++ / CLR应用程序在.NET从vs2012的选择吗?又或者是我必须下载? 虽然微软移除创建一个C ++ / CLI Windows窗体应用程序 ..
发布时间:2015-11-24 16:08:28 C#/.NET

为什么不可变对象是线程安全的?

类股{ 私人只读字符串名称; 私人只读双刻度; 公开组(字符串名称,双刻度){ this.name =名称; this.scale =规模, } 公共字符串名称{{返回名称; }} 公共字符串规模{{返回规模; }} 私有静态单位克=新的单位(“克”,1.0); 公共单位克{{返回克; }} } ..
发布时间:2015-11-24 16:07:27 C#/.NET

JIT VS NGEN - 的区别是什么?

所以,当CLR运行时加载.NET程序集,它编译成机器本土code。这个过程被称为JIT编译。 NGEN也是编译.NET程序集到本地code的过程。我不明白什么是两者之间的区别是什么? 解决方案 所不同的是在的发生。当程序运行时的JIT编译。 NGEN是一个典型的做法在程序的安装时间和发生的程序运行之前。其中一个NGEN的目标是消除来自应用程序的JIT罚启动。 ..
发布时间:2015-11-24 16:03:17 C#/.NET

我们应该始终包含在类的默认构造函数?

我一直在问这个问题的一位同事说,我们应该始终在一个类中默认的构造函数?如果是这样,为什么呢?如果没有,为什么不呢? 示例 的 公共类Foo { 富(){} 美孚(INT X,int y)对{ ... } } 我也有兴趣了解这一部分的灯光专家。 解决方案 您必须记住,如果你不提供一个重载的构造函数,编译器将生成一个默认的构造函数为您服务。 ..
发布时间:2015-11-24 16:01:20 C#/.NET

哪里是.NET JIT编译code缓存?

一个.NET程序首先被编译成MSIL code。当它被执行时,JIT编译器将其编译为本地机器code。 我想知道: 在哪里这些JIT编译机code存储?是它仅存储在进程的地址空间?但由于该计划的第二个启动比第一次更快,我觉得这个本土code必须被存储在磁盘上的某个地方,即使执行完毕。但是,在哪里? 解决方案 内存。它的可以的缓存,这是ngen.exe的工作。它生成组件的.ni.dll版本, ..
发布时间:2015-11-24 15:57:46 C#/.NET

是CLR虚拟机?

我读了一本书,其中提到.NET CLR虚拟机?任何人都可以证明这一点?这是什么原因,我们需要虚拟机的概念上的一些开发平台? 是不是可以开发一个原生框架[一个没有虚拟机],完全面向对象和强大的.NET? 这本书是指CLR虚拟机是“专业.Net框架2.0 ” 解决方案 布拉德·艾布拉姆斯:是CLR虚拟机? ..
发布时间:2015-11-24 15:57:09 C#/.NET

你可以做什么的MSIL,你不能在C#或VB.NET呢?

所有code写的.NET语言编译成MSIL,但是否有具体任务/操作,你只能用做MSIL直接? 让我们也有事情在MSIL比C#,VB.NET,F#,J#或任何其他.NET语言做更容易。 到目前为止,我们有这样的: 尾递归 通用​​有限公司/逆变 重载仅在返回类型而不同 覆盖访问修饰符 在有不能从System.Object继承的类 过滤异常(可以在vb.net中完成) 调用当前静态类类型的虚方法 ..
发布时间:2015-11-24 15:53:04 C#/.NET

什么是C#/ CLI标识符的最大长度是多少?

还有哪些限制那里的名字(一个范围内有明显的独特性旁边)? 在哪里的定义? 解决方案 从ECMA的 PDF -335 ,分区二,第22条,“元数据preserves名称字符串,由编译器或code发生器产生,持平。从本质上讲,它把 每个字符串作为不透明斑点。特别是,它preserves情况。该CLI规定了存储在元数据和后续处理由CLI“。名的长度没有限制 如果我读这正确的情况下是正确的那么就没 ..
发布时间:2015-11-24 15:48:48 C#/.NET

CLR JIT优化违反了因果关系?

我在写一个启发性的例子的一个同事告诉他为什么测试浮相等往往是一个坏主意。我去的例子是添加.1十次,比对1.0(一个我一直在我的入门级数字显示)。我很惊讶地发现,这两个结果的都是平等的的( code +输出) 浮法@float = 0.0; 为(中间体@int = 0; @int小于10; @int + = 1) { @float + = 0.1F; } Console.WriteLine ..
发布时间:2015-11-24 15:48:44 C#/.NET

为什么C#/ CLR不支持方法重写CO /禁忌变化?

有相当多的问题和放大器;关于黑客周围的C#不允许方法返回(及参数)类型更改为兼容的类型上覆盖的限制,但答案为什么没有这种限制存在,无论是在C#编译器或CLR?正如我在看,没有什么可以打破,如果CO /禁忌变化是允许的,那么什么是其背后的原因何在呢? 有一个类似的问题可能会被要求扩大接入参数 - 比如覆盖一个受保护的内部方法与公共法(一些东西,Java支持,IIRC) 解决方案 埃里克利珀已经 ..
发布时间:2015-11-24 15:45:07 C#/.NET

项目参考解决方法.NET 4.5和.NET 3.5

在继续为这个线程: 我找到了一个解决办法: 什么是基本上做到,让我的解决方案,编译,并确定在什么样的CLR运行的每个项目。 有谁看到缺点呢? 它建立了项目,在我的第三方API,它必须运行在.NET 3.5中,我明确地写在了App.config中与CLR 2.0,而不是4.0 运行 <启动> < supportedRuntime版本=“V2.0.50727”/> ..
发布时间:2015-11-24 15:43:46 C#/.NET

什么是CLR托管?

什么是CLR托管?是用例是什么? 解决方案 请参阅此处这是相关的CLR V2有关CLR的托管信息(.NET 2.0,3.0和3.5)。有关在.NET 4.0中的新的CLR托管API的信息,看到这里。 基本上,在CLR作为可加载和“托管”由进程库。您可以开发加载和承载CLR,如果你想一个应用程序;这将让您的应用程序包含一个整体CLR虚拟机,装载组件和运行.NET托管code中的这一切。 的S ..
发布时间:2015-11-24 15:36:08 C#/.NET

是否有有过作为一个PHP.NET可能性?

抱歉,如果这是一个愚蠢的和/或愚蠢的问题,但...会不会有永远,或将它甚至有可能有一个PHP.NET?还是有我的坚持错误的结束? 在我看来,这对.NET的要点之一是,你可以写你的code一堆的.NET语言之一,并把它编译成CLR。难道这发生在PHP中,或者是有一些关于PHP,使这个不可能的?还是有更多的政治原因?或者是它只是一个弱智的想法? 解决方案 顺便说一句: 我不相信的.Net支持P ..
发布时间:2015-11-24 15:33:56 PHP

调用从非托管code管理code

我想从非托管的C打电话给我的。NET code ++。我的过程入口点是基于.NET的,所以我不担心宿主CLR。我知道它可以使用COM包装为.NET对象来完成,但我想访问托管类的单个静态方法,所以COM是不是我的最短/最快的途径。 谢谢! 解决方案 假设你正在谈论真正的非托管code - 不只是本地C ++中使用/ clr编译混合模式组件运行 - 最简单的方法是创建一个包装到你的.NET co ..
发布时间:2015-11-24 15:33:18 C#/.NET

可能的合并一个DLL到.NET EXE?

我有一个DLL存储常用于两个应用程序类。我想保持我的应用程序限制为一个EXE文件,并想看看我是否能以某种方式嵌入在我的主EXE这个DLL。 我如何可以嵌入外部DLL到我的应用程序? (如果可能) 解决方案 ILMerge是合并多个.NET程序集到一个单一的.NET程序集的工具。它的工作原理上的可执行文件和动态链接库的一致好评。它配备了几个选项来控制输出的处理和格式,请参阅随附的文档获取详细信 ..
发布时间:2015-11-24 15:28:51 C#/.NET

转换.NET应用程序,以原生的x86 code

有完全用C#编写一个程序,面向.NET Framework 2.0的。 有没有一种方法,我可以以某种方式编译(翻译)管理的EXE到本机之一,所以它可能是.NET无关?我知道有可能是商业产品为目的...但他们是有点贵。 的问题是,我们要部署运行Windows XP没有安装.NET框架的计算机上的程序。还有一个要求,即该程序的大小必须不超过500KB(1Mb的最大值),直到它从网络服务器下载的(即现 ..
发布时间:2015-11-24 15:25:37 C#/.NET