|
|
1
4
这不是.NET错误,而是MS C运行时(CRT、MSCRT)错误。
您的第三方DLL可能正在使用某些mscrt dll(有很多版本)。在本机应用程序的进程启动时,CRT被初始化(它包含程序入口点,然后调用
如果.NET 2运行时 1 默认情况下,使用与本机代码相同的mscrt,然后它将被正确初始化。.NET 4可能使用较新的版本(新的mscrt版本往往与vs的新版本一起提供,就像.NET一样),那么较旧的mscrt仅作为依赖项加载,而不用于应用程序启动。
大多数情况下,msct都能正确地处理这个问题,但是如果第三方dll做了一些“聪明”的事情,它可能会绕过一些初始化,而这恰好起作用的是.NET使用的mscrt的相同版本。这种错误用法的一个例子是直接调用
要找到根本原因,您需要对第三部分DLL和包装有足够的了解,更可能需要向第三方提供重新创建,以便他们修复。 一 记住,v3.5只是2.0cli之上的额外程序集。 |
|
|
2
1
它是只在调试时发生,还是也在运行中发生? 想到两件事: 1).NET的默认应用程序类型是针对.NET客户端框架的,这是最烦人的,我必须随时更改它。如果你把它作为一个表面上与之毫无关系的客户,你可能会犯各种各样的错误。试着改变它。 2)您需要vs 2010还是.NET 4.0?如果只有vs 2010,那么您可以将目标框架设置为3.5,并尝试查看问题是vs 2010还是.NET 4.0。 从Internet上的错误来看,这似乎是一个时间问题,并且C运行时没有被加载—这在.NET 4.0中看起来是一种改变的行为。我不知道怎么修。 |
|
|
Linesofcode · 错误未指定sqlcese40。dll 9 年前 |
|
|
Arvo Bowen · 如何使用父控件的默认字体创建用户控件? 10 年前 |
|
Asdfg · 如何解析此文本并构建对象 11 年前 |
|
|
qakmak · WPF win8平板电脑模式键盘隐藏屏幕底部的项目 11 年前 |
|
|
DeJaVo · .NET4到.NET4.5运行时的更改是什么 11 年前 |