问题标签 [base-class-library]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - BCL.XPRB dll 未在 C#.Net 应用程序中初始化
我正在尝试解决优化器库的初始化错误。我拥有并安装了 Xpress-IVE 64 位工作室的许可证,但是,我需要在 VS2010 中构建并在 IIS 上运行的 C#.Net 应用程序中链接和使用 xprb 工具。
我将 xprb.dll 和 xprbdn.dll 复制到应用程序 bin 文件夹以进行部署,并将它们添加为参考。然而,当应用程序调用 XPRB.init() 时,它会抛出异常
关于可能缺少什么的任何建议?
c# - 如何使用 .Net IO 类创建可测试的代码?
我想创建可单元测试的代码来模拟对 .Net System.IO 类的调用,因此我可以真正进行单元测试,而不是依赖于文件系统。我正在使用SystemWrapper类来包装 BCL 类。
我正在尝试获取一个简单的示例来查看文件是否存在。
我遇到的问题是在类中注入依赖项不起作用,因为实例化依赖项(通过StructureMap)需要知道要传递的构造函数参数,当时不可用,也没有默认构造函数。
示例代码:
我不喜欢的是没有注入依赖项,ObjectFactory 不应该在这里(但我看不到其他创建方法)。ExplicitArguments 使它变得混乱,并且参数名称是一个魔术字符串。
让我让它工作 StructureMap 配置类需要知道我想使用哪个构造函数(我刚开始使用 StructureMap 所以这可能不是设置它的正确方法):
有没有人找到更好的解决方案来创建针对 System.IO 类的可测试代码?我知道部分问题在于 System.IO 类的设计。
c# - 使用 IComparable.Compare 没有幻数
我真的很讨厌使用IComparer——直到今天,在使用 .Net 多年之后,我仍然经常被那些 1 和 -1 弄糊涂。
我可以以某种方式用一些不言自明的名称替换比较结果值,而不必在每次比较调用后将输出整数转换为其他值吗?
我试图定义一个这样的枚举:
但这当然不会在没有演员表的情况下编译。
这当然也适用于IComparable.CompareTo。
谢谢你的想法
.net - 托管 C++ 字符串比较奇怪地工作
我正在尝试比较 2 个字符串但得到奇怪的结果。在某些计算机上,比较可以正常工作,而在其他计算机上则不能。代码是使用托管 C++ 在 Visual Studio 2010 中编写的。我检查了字符串,它们看起来相同。有什么想法吗?
.net - 如何使用窗口窗体应用程序在 C++ 中启动(.exe)文件?
,例如,当用户单击 Pre sets 按钮时,它将启动另一个 (.exe) 文件,Bread board 按钮也是如此。
这是我一直在使用的代码
至于按钮,就像
但它给了我一个错误,这段代码适用于
它会正确地启动它们,但就我而言,我得到:
Win32Exception was unhandeld 系统找不到指定的文件。
我确保文件存在,甚至将文件夹放在 C 部分的程序文件中。
.net - .NET 4.5 CustomReflectionContext:它有什么用?
.NET Framework 4.5 Developer Preview 中的新增功能提到
能够自定义反射上下文以通过CustomReflectionContext类覆盖默认反射行为。
的目的是ReflectionContext
什么?MSDN 对这个主题不太清楚。
.net - 懒惰的含义和线程安全错误
在初始化期间使用Lazy<T>
类和标记有什么含义?isThreadSafe: false
在惰性需要访问实例成员而不是静态成员的情况下,其中惰性在类构造函数中初始化,这是否isThreadSafe: false
在所有用法中都自动需要?
winapi - 如果我对某些术语(mfc、win32、在 vc++ 中)有错误,请纠正我
据我了解,使用 Wiki 和我发布的这个问题,微软有自己的编译器,称为 VC++,它与许多其他东西一起包含在 .net 框架中。由于以下原因(以及其他原因),它可以做出非常好的应用程序:
- 我们可以在其中使用一个非常好的和广泛的库,称为 Base CLass Library
- 编译后,它会生成一个独立于平台的可移植中间代码,称为字节码(也称为通用中间语言)。此 CIL 是公共语言基础结构规范 (CLI) 的 Microsoft 实现。
- 在其他类型中,我们可以制作被称为 Win32 的应用程序,因为它们是由 32 位内存地址组成的。此外,win32编。包括使用各种 gui 元素进行编程。
我对吗?现在,我的问题
- mfc 和 bcl 之间的关系是什么?
- cts和cil是什么关系。
- Win32 编程的定义是否更多地关注具有 32 位地址的应用程序”而不是“包括 gui 元素的应用程序”,反之亦然?
c# - ConcurrentBag 中是否存在内存泄漏执行?
可能重复:
ConcurrentBag 中可能存在内存泄漏?
编辑1:
实际的问题是。你能确认一下,还是我的样本错了,我遗漏了一些明显的东西?
我认为 ConcurrentBag 只是无序列表的替代品。但是我错了。ConcurrentBag 确实将自身作为 ThreadLocal 添加到创建线程,这基本上会导致内存泄漏。
我可以根据我添加到包中的数据量来制作 250 KB 或 100 GB 的差异。数据和包都消失了。
当我用 Windbg 闯入这个并且我做一个 !DumpHeap 类型并发
……
当我创建一个空的 ConcurrentBag 让一些工作线程向它添加数据时,ConcurrentBag 并且只要创建线程仍然存在,它的数据就会在那里。
这样我得到了几 GB 的内存泄漏。我确实通过使用列表和锁来“修复”这个问题。ConcurrentBag 可能很快,但作为具有相同对象生命周期的 List 的简单替换是没有用的。
如果我在主线程上创建了一个 ConcurrentBag,只要线程还活着,我就会保留它。这不是我所期望的,它可能会导致严重的痛苦。
.net - .NET TcpClient/NetworkStream 实现,支持异步操作并遵守超时
根据问题、论坛帖子等的数量,BCL 中的 TcpClient/NetworkStream 实现似乎缺乏对取消 IO 操作的良好支持。随着在 .NET 4.5 中添加 Async 方法,这种取消(或体面的超时支持)的缺乏使事情变得更加令人沮丧,因为在执行 IO 时取消拒绝监视其 CancellationToken 的任务变得更加复杂(几乎不可能) .
我见过许多实现,它们会启动额外的线程来监视网络操作并在出现问题时关闭底层流。在我们试图通过使用异步操作来节省这些资源的世界中,这感觉非常肮脏。
任何人都可以向我指出如何有效地取消/超时网络 IO 操作或实现真正有效的强大的第 3 方实施的指导方向吗?