问题标签 [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.

0 投票
2 回答
293 浏览

c# - BCL.XPRB dll 未在 C#.Net 应用程序中初始化

我正在尝试解决优化器库的初始化错误。我拥有并安装了 Xpress-IVE 64 位工作室的许可证,但是,我需要在 VS2010 中构建并在 IIS 上运行的 C#.Net 应用程序中链接和使用 xprb 工具。

我将 xprb.dll 和 xprbdn.dll 复制到应用程序 bin 文件夹以进行部署,并将它们添加为参考。然而,当应用程序调用 XPRB.init() 时,它会抛出异常

关于可能缺少什么的任何建议?

0 投票
1 回答
1044 浏览

c# - 如何使用 .Net IO 类创建可测试的代码?

我想创建可单元测试的代码来模拟对 .Net System.IO 类的调用,因此我可以真正进行单元测试,而不是依赖于文件系统。我正在使用SystemWrapper类来包装 BCL 类。

我正在尝试获取一个简单的示例来查看文件是否存在。

我遇到的问题是在类中注入依赖项不起作用,因为实例化依赖项(通过StructureMap)需要知道要传递的构造函数参数,当时不可用,也没有默认构造函数。

示例代码:

我不喜欢的是没有注入依赖项,ObjectFactory 不应该在这里(但我看不到其他创建方法)。ExplicitArguments 使它变得混乱,并且参数名称是一个魔术字符串。

让我让它工作 StructureMap 配置类需要知道我想使用哪个构造函数(我刚开始使用 StructureMap 所以这可能不是设置它的正确方法):

有没有人找到更好的解决方案来创建针对 System.IO 类的可测试代码?我知道部分问题在于 System.IO 类的设计。

0 投票
4 回答
661 浏览

c# - 使用 IComparable.Compare 没有幻数

我真的很讨厌使用IComparer——直到今天,在使用 .Net 多年之后,我仍然经常被那些 1 和 -1 弄糊涂。

我可以以某种方式用一些不言自明的名称替换比较结果值,而不必在每次比较调用后将输出整数转换为其他值吗?

我试图定义一个这样的枚举:

但这当然不会在没有演员表的情况下编译。

这当然也适用于IComparable.CompareTo

谢谢你的想法

0 投票
1 回答
2178 浏览

.net - 托管 C++ 字符串比较奇怪地工作

我正在尝试比较 2 个字符串但得到奇怪的结果。在某些计算机上,比较可以正常工作,而在其他计算机上则不能。代码是使用托管 C++ 在 Visual Studio 2010 中编写的。我检查了字符串,它们看起来相同。有什么想法吗?

0 投票
4 回答
5140 浏览

.net - 如何使用窗口窗体应用程序在 C++ 中启动(.exe)文件?

,例如,当用户单击 Pre sets 按钮时,它将启动另一个 (.exe) 文件,Bread board 按钮也是如此。

这是我一直在使用的代码

至于按钮,就像

但它给了我一个错误,这段代码适用于

它会正确地启动它们,但就我而言,我得到:

Win32Exception was unhandeld 系统找不到指定的文件。

我确保文件存在,甚至将文件夹放在 C 部分的程序文件中。

0 投票
1 回答
2516 浏览

.net - .NET 4.5 CustomReflectionContext:它有什么用?

.NET Framework 4.5 Developer Preview 中的新增功能提到

能够自定义反射上下文以通过CustomReflectionContext类覆盖默认反射行为。

的目的是ReflectionContext什么?MSDN 对这个主题不太清楚。

0 投票
2 回答
1539 浏览

.net - 懒惰的含义和线程安全错误

在初始化期间使用Lazy<T>类和标记有什么含义?isThreadSafe: false

在惰性需要访问实例成员而不是静态成员的情况下,其中惰性在类构造函数中初始化,这是否isThreadSafe: false 在所有用法中都自动需要?

0 投票
1 回答
121 浏览

winapi - 如果我对某些术语(mfc、win32、在 vc++ 中)有错误,请纠正我

据我了解,使用 Wiki 和我发布的这个问题,微软有自己的编译器,称为 VC++,它与许多其他东西一起包含在 .net 框架中。由于以下原因(以及其他原因),它可以做出非常好的应用程序:

  1. 我们可以在其中使用一个非常好的和广泛的库,称为 Base CLass Library
  2. 编译后,它会生成一个独立于平台的可移植中间代码,称为字节码(也称为通用中间语言)。此 CIL 是公共语言基础结构规范 (CLI) 的 Microsoft 实现。
  3. 在其他类型中,我们可以制作被称为 Win32 的应用程序,因为它们是由 32 位内存地址组成的。此外,win32编。包括使用各种 gui 元素进行编程。

我对吗?现在,我的问题

  1. mfc 和 bcl 之间的关系是什么?
  2. cts和cil是什么关系。
  3. Win32 编程的定义是否更多地关注具有 32 位地址的应用程序”而不是“包括 gui 元素的应用程序”,反之亦然?
0 投票
3 回答
5647 浏览

c# - ConcurrentBag 中是否存在内存泄漏执行?

可能重复:
ConcurrentBag 中可能存在内存泄漏?

编辑1:

实际的问题是。你能确认一下,还是我的样本错了,我遗漏了一些明显的东西?

我认为 ConcurrentBag 只是无序列表的替代品。但是我错了。ConcurrentBag 确实将自身作为 ThreadLocal 添加到创建线程,这基本上会导致内存泄漏。

我可以根据我添加到包中的数据量来制作 250 KB 或 100 GB 的差异。数据和包都消失了。

当我用 Windbg 闯入这个并且我做一个 !DumpHeap 类型并发

……

当我创建一个空的 ConcurrentBag 让一些工作线程向它添加数据时,ConcurrentBag 并且只要创建线程仍然存在,它的数据就会在那里。

这样我得到了几 GB 的内存泄漏。我确实通过使用列表和锁来“修复”这个问题。ConcurrentBag 可能很快,但作为具有相同对象生命周期的 List 的简单替换是没有用的。

如果我在主线程上创建了一个 ConcurrentBag,只要线程还活着,我就会保留它。这不是我所期望的,它可能会导致严重的痛苦。

0 投票
1 回答
843 浏览

.net - .NET TcpClient/NetworkStream 实现,支持异步操作并遵守超时

根据问题、论坛帖子等的数量,BCL 中的 TcpClient/NetworkStream 实现似乎缺乏对取消 IO 操作的良好支持。随着在 .NET 4.5 中添加 Async 方法,这种取消(或体面的超时支持)的缺乏使事情变得更加令人沮丧,因为在执行 IO 时取消拒绝监视其 CancellationToken 的任务变得更加复杂(几乎不可能) .

我见过许多实现,它们会启动额外的线程来监视网络操作并在出现问题时关闭底层流。在我们试图通过使用异步操作来节省这些资源的世界中​​,这感觉非常肮脏。

任何人都可以向我指出如何有效地取消/超时网络 IO 操作或实现真正有效的强大的第 3 方实施的指导方向吗?