与我的其他问题相关:
https://stackoverflow.com/questions/32349726/microsoft-access-not-unloading-c-sharp-usercontrol
我们有一个C#UserControl,它启用了COM并嵌入在Access窗体中。我有几个主题控件的问题,但我遇到的主要问题之一是:
从Visual Studio调试时的Environment.OSVersion:
Environment.OSVersion
{Microsoft Windows NT 10.0.10240.0}
Platform: Win32NT
ServicePack: ""
Version: {10.0.10240.0}
VersionString: "Microsoft Windows NT 10.0.10240.0"
这是正确的。
从Microsoft Access调试时的Environment.OSVersion(附加到Access Prozess):
Environment.OSVersion
{Microsoft Windows NT 6.2.9200.0}
Platform: Win32NT
ServicePack: ""
Version: {6.2.9200.0}
VersionString: "Microsoft Windows NT 6.2.9200.0"
这是完全错误的。有些东西可以覆盖OSVersion。
有没有人见过COM对象这样的行为?或者它可能是Windows 10中的一个Bug?
更新: 我在Windows 7机器上测试同样的东西,在两种情况下都返回正确的值
{Microsoft Windows NT 6.1.7601 Service Pack 1}
Platform: Win32NT
ServicePack: "Service Pack 1"
Version: {6.1.7601.65536}
VersionString: "Microsoft Windows NT 6.1.7601 Service Pack 1"