Questions tagged «clr»

公共语言运行库(CLR)是Microsoft .NET计划的核心组件。它是Microsoft对公共语言基础结构(CLI)标准的实现,它定义了程序代码的执行环境。在CLR中,代码以称为通用中间语言(CIL,以前称为MSIL-Microsoft中间语言)的字节码形式表示。

4
浮动vs双重表现
我做了一些计时测试,还读了一些类似这样的文章(最后评论),在Release build中,float和double值看起来花费了相同的处理时间。 这怎么可能?当float比double值精度低且较小时,CLR如何在相同的处理时间内将double值加倍?
91 c#  .net  clr  performance 

9
为JVM实现C#
是否有人在尝试为JVM实现C#?作为Java开发人员,我一直羡慕C#,但不愿放弃JVM的可移植性和成熟度,更不用说针对它的各种工具了。 我知道JVM和CLR之间有一些重要的区别,但是有没有什么是最流行的?
91 c#  java  clr  jvm 


6
.NET Core中没有AppDomains!为什么?
微软为什么不选择在.NET Core中支持AppDomains的理由很充分? 当构建长时间运行的服务器应用程序时,AppDomains尤其有用,在这种情况下,我们可能希望以合适的方式更新服务器加载的程序集,而无需关闭服务器。 如果没有AppDomains,我们将如何在长时间运行的服务器进程中替换程序集? AppDomains还为我们提供了一种隔离服务器代码不同部分的方法。就像,自定义Websocket服务器可以在主应用程序域中具有套接字代码,而我们的服务则在辅助应用程序域中运行。 如果没有AppDomains,则不可能出现上述情况。 我可以看到一个论点,它可能涉及使用VM的Cloud概念来处理程序集更改,而不必承担AppDomains的开销。但这是微软的想法或说法吗?还是他们有上述情况的特定原因和替代方案?

4
未启用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 'clr enabled', 1 go RECONFIGURE go sp_configure 'clr enabled' go 但是然后我得到: Msg 102, Level 15, State 1, Line 3 Incorrect syntax near 'sp_config


2
解密.NET clr20r3异常参数P1..P10
clr20r3当我的应用程序遇到异常时,我试图破译与P1 ... P10参数相关联的含义,该参数写入事件日志。 我能找到的最好的是: P1:托管过程(例如 w3wp.exe) P2:托管进程版本(例如 6.0.3790.1830) P3:??? (例如 42435be1) P4:引发异常的程序集(例如 mrtables.webservice) P5:组装版本(例如 2.1.2.0) P6:??? (例如 4682617f) P7:??? (例如 129) P8:??? (例如 50) P9:引发的异常类型(例如 system.argumentexception) P10:??? (例如 NIL) 对clr20r3进行谷歌搜索提供了成千上万个样本参数值,有人可以尝试从中导出模式。 但是我希望能找到有关参数含义的文档,而不是有根据的猜测。 编辑:虽然我可以希望能得到规范的文档,但实际上我很高兴看到抛出异常的那一行在哪一行完成了堆栈跟踪。 奖励阅读 导致应用程序崩溃的未处理异常,日志中带有“ EventType clr20r3,P1 w3wp.exe”,但是那里没有详细信息 (寻求问题的帮助,而我们要求对参数的含义进行规范解释)
79 .net  exception  clr 


5
如何确定对新的C ++项目使用ATL,MFC,Win32还是CLR?
我刚刚开始我的第一个C ++项目。我正在使用Visual Studio 2008。这是一个单格式的Windows应用程序,它访问几个数据库并启动WebSphere MQ事务。我基本上了解ATL,MFC,Win32(实际上我对此不太了解)和CLR之间的区别,但是我对应该如何选择感到困惑。 是否有其中一个或多个用于向后兼容? CLR是个坏主意吗? 任何建议表示赞赏。 编辑: 出于这个原因,我选择了C ++是出于我没有在帖子中讨论的原因,而这并不是完全技术性的。因此,假设C ++是唯一/最佳选择,那我应该选择哪个呢?
73 c++  winapi  mfc  clr  atl 

6
为什么要检查此!= null?
有时,我喜欢花一些时间查看.NET代码,以了解幕后如何实现事情。我在String.Equals通过Reflector查看方法时偶然发现了这颗宝石。 C# [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)] public override bool Equals(object obj) { string strB = obj as string; if ((strB == null) && (this != null)) { return false; } return EqualsHelper(this, strB); } 白介素 .method public hidebysig virtual instance bool Equals(object obj) cil managed { .custom instance void System.Runtime.ConstrainedExecution.ReliabilityContractAttribute::.ctor(valuetype System.Runtime.ConstrainedExecution.Consistency, valuetype …
72 c#  .net  clr  reflector 

8
自动创建空的C#事件处理程序
无法在C#中触发没有附加处理程序的事件。因此,在每次调用之前,有必要检查事件是否为null。 if ( MyEvent != null ) { MyEvent( param1, param2 ); } 我想保持我的代码尽可能干净,并摆脱那些空检查。我认为这不会对性能产生太大影响,至少在我看来不会如此。 MyEvent( param1, param2 ); 现在,我通过为每个事件手动添加一个空的内联处理程序来解决此问题。这很容易出错,因为我需要记住要这样做。 void Initialize() { MyEvent += new MyEvent( (p1,p2) => { } ); } 有没有一种方法可以使用反射和一些CLR魔术自动为给定类的所有事件生成空处理程序?
71 c#  events  delegates  clr 


11
为什么C#不允许像C ++这样的非成员函数
C#不允许编写非成员函数,并且每个方法都应该是类的一部分。我当时认为这是所有CLI语言的限制。但是我错了,我发现C ++ / CLI支持非成员函数。编译后,编译器将使该方法成为某些未命名类的成员。 这是C ++ / CLI标准所说的, [注:CLI将非成员函数视为某些未命名类的成员;但是,在C ++ / CLI源代码中,此类函数无法使用该类名显式限定。尾注] 未指定元数据中非成员函数的编码。[注意:这不会引起互操作问题,因为此类功能无法公开显示。尾注] 所以我的问题是,为什么C#不实现这样的东西?还是您认为不应该存在非成员函数,并且每个方法都应该属于某个类? 我的意见是拥有非成员函数支持,这有助于避免污染类的接口。 有什么想法吗..?
68 c#  .net  function  c++-cli  clr 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.