我想知道我在Win XP Pro笔记本电脑上安装了哪个SAPI版本。
我正在为我的项目添加sapi.dll: 项目>添加参考> COM: Microsoft Speech Object Library 5.0 C:\ Program Files \ Common Files \ Microsoft Shared \ Speech \ sapi.dll
如果我打开Windows资源管理器并导航到C:\ Program Files \ Common Files \ Microsoft Shared \ Speech \ sapi.dll,它会将版本号显示为5.1.4111.0
Visual Studio(Interop.SpeechLib.dll)创建的互操作文件显示版本号为5.0.0.0
如果我去Project>添加参考>浏览并手动浏览dll,没有区别。虽然物理dll显示版本5.1.4111.0,但Visual Studio中的所有内容都变为版本5.0.0.0
为何出现差异?
感谢。
答案 0 :(得分:2)
因为类型库版本与文件版本无关。库版本描述了API的声明的接口。当进行重大更改需要重新编译程序时,库版本会递增。
文件版本是实现详细信息。 XP上可能有多次修改,比如不同的服务包或安全补丁。 “5.1”在这里表示 Windows 版本号。 4.0 = Windows NT,5.0 = Windows 2000,5.1 = XP,6.0 = Vista,6.1 = Windows 7.文件版本的更改不需要重新编译程序。您只关心库版本。