c#MemoryMappedFile in .net 3.5

时间:2011-08-04 11:37:00

标签: c# .net-3.5 .net-4.0 memory-mapped-files

我需要在.net 3.5中使用MemoryMappedFile类... 有没有办法找到.net 4.0中使用的类的代码并创建在.net 3.5中使用? 提前谢谢

3 个答案:

答案 0 :(得分:3)

.NET 4使用了一个全新的CLR,而我根本不会感到惊讶地发现已经发生了足够的改变以使其基本上不可行。

基本上,您应该使用支持所需功能的.NET版本 - 您发现的任何解决方法很可能会导致难以诊断的问题,IMO。

答案 1 :(得分:3)

如果您需要.NET 3.5中的内存映射文件,您还可以从头开始围绕respective Win32 methods编写自己的包装器。这可能需要更多的努力,但它避免了任何许可问题。

答案 2 :(得分:1)

可以使用反编译器或共享源(有意省略的链接)来获取代码。快速查看不会显示对CLR的任何调用,但它看起来一切都是“普通”C#和一些P / Invoke到Win32。

但是,请注意,您必须提取一些类才能使其成为可能,而不仅仅是System.IO.MemoryMappedFiles。最后,你仍然会遇到Jon所描述的问题。

当然,不要说任何许可问题。无论如何,这真的是第一个showstopper。