43得票3回答
CLR 4.0仍然限制单个对象大小不超过2GB?

据我所知,在.NET中,单个实例的限制为2GB。由于我主要在32位操作系统上工作,因此并没有太关注这一点。在32位上,它更多地是人为的限制,不过我很惊讶地发现,这种限制也适用于64位.NET。 由于像List<T>这样的集合使用数组来存储项目,这意味着在32位上运行的.NET应用...

30得票4回答
.NET 4.0和C# 4.0中的事件和委托协变性

在调查这个问题时,我对C# 4.0中的新协变性/逆变性特性产生了好奇心。 在Beta 1中,C#似乎与CLR不一致。回到C# 3.0时,如果你有: public event EventHandler<ClickEventArgs> Click; ...然后你在别处有: b...

19得票2回答
启用useLegacyV2RuntimeActivationPolicy有什么后果?

对于我的当前项目,我们正在使用一些基于CLR 2的混合模式程序集。 为了从.NET 4目标程序集中使用它们,我知道你必须在<startup>元素中的app.config中添加useLegacyV2RuntimeActivationPolicy=true。 我知道这会改变激活策略...

12得票2回答
为什么安装了.NET 4的机器无法运行针对.NET 4.5定位的exe,即使它们使用相同的CLR版本?

在Common Language Runtime (CLR) Microsoft页面中,它说.Net Framework 4和4.5都使用CLR版本4。 然而,在这个页面(.NET Framework Versions and Dependencies)中,它写着'.Net Framewor...

11得票3回答
CLR 4.0中的新ETW特性到底是什么?

我的同事提到CLR 4.0与Windows事件跟踪相关的一些重大改进,但我找不到确切的新内容细节。有一些博客文章仅提到改进,但没有提供确切的新细节。是否有人更深入地了解它?

9得票2回答
typeof(T) 可能返回空值。

当使用TypeBuilder创建的类型进行typeof操作时,该操作符将返回null。 我很好奇为什么会发生这种情况,以及如何避免。 我开始认为这是VS立即窗口中的一个bug,但我不太确定。首先很容易责怪别人。 好的... 以下是重现问题的代码: static void M...

9得票3回答
CLR 4.0中垃圾回收的改进

最近我运行了Andrew Hunter在他的博客"The Dangers of the Large Object Heap"提供的示例,编译使用的是.NET 4,我得到了以下数字: 使用大块: 分配了622Mb 使用大块,频繁垃圾回收: 分配了582Mb 只使用小块: 分配了1803M...

8得票1回答
HyperDescriptor在.NET 4中构建时是否有效?

我正在开发一个.NET 4项目,希望能够从HyperDescriptor提供的动态属性访问中受益,但在.NET 4构建时似乎无法正常工作。我从CodeProject下载了源代码,将解决方案和项目转换为VS2010,并将目标框架更新为4.0。虽然它可以构建,并且示例正确执行,但时间表明,使用Hy...

7得票2回答
LINQ是否缓存计算值?

假设我有以下代码: var X = XElement.Parse (@" <ROOT> <MUL v='2' /> <MUL v='3' /> </ROOT> "); Enumerable.Ran...