gpt4 book ai didi

.net - Windows 事件日志中引用的 "Framework Version"是什么?

转载 作者:行者123 更新时间:2023-12-04 16:02:29 25 4
gpt4 key购买 nike

我正在调试 C# 应用程序崩溃。崩溃发生在对外部本地 DLL 的调用中。

Windows 事件日志包含以下报告。我的目标是 .NET 4.5(在 Visual Studio 中)并且目标 PC 安装了 .NET 4.5.2

我的问题是:为什么Framework Version显示v4.0.30319?在我看来,应用程序在错误的 .NET 框架下运行。

Application: XXXXXXX.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.AccessViolationException
Stack:
at XXXXXXX.SVcamApi+NativeMethods.SVInterfaceGetDeviceId_64(Void*, UInt32, SByte*, UInt32*)
at XXXXXXX.SVcamApi+NativeMethods.SVInterfaceGetDeviceId_64(Void*, UInt32, SByte*, UInt32*)
at XXXXXXX.SVcamApi.SVS_InterfaceGetDeviceId(IntPtr, UInt32, System.String ByRef, UInt32 ByRef)
at XXXXXXX.XXXXXXX+Cameracontainer.deviceDiscovery()
at XXXXXXX.XXXXXXX.buttonDiscover_Click(System.Object, System.EventArgs)
at XXXXXXX.XXXXXXX.DiscoverAndConnect()
at XXXXXXX.XXXXXXX..ctor()
at XXXXXXX.Program.Main()

我已确认使用 Raymondcc .NET Detector 实用程序安装了 4.5.2: https://www.raymond.cc/blog/how-to-check-what-version-of-microsoft-net-framework-is-installed-in-computer/

令人惊讶的是,.NET 检测器指示甚至没有安装 4.0;它显示已安装 2、3、3.5 和 4.5.2。

最佳答案

您看到的是 CLR 的版本,Common Language Runtime .自 4.0 以来的每个 .NET 版本都在 CLR 的 4.0.30319 版本上运行,因此即使对于 .NET 4.5.2 应用程序,看到该数字也是正常的。

clr 的版本在不同的框架之间是有变化的,只是版本号的区别更大。例如,.NET 4.0 在 CLR 4.0.30319.0 到 4.0.30319.17000 上运行,.NET 4.5 在 CLR 4.0.30319.17001 到 4.0.3019.18400 上运行,等等 ( Source )

关于.net - Windows 事件日志中引用的 "Framework Version"是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50109474/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com