错误消息:
未能加载文件 C:\Windows\Microsoft.NET\Framework\Meaningless_string\mscorlib.tlb。未能找到该文件,因此解决此问题的尝试失败。请重新安装此程序。
消息定义:
注意:Meaningless_string 是错误消息中出现的无意义字符的占位符。这些字符是一些类似于 Microsoft .NET Framework 的版本号的字符,如 v1.0.3705、v1.1.4870 或 v2.0.50727。
发生于:
安装 SQL Server 2005 之后,每次在您启动 Microsoft SQL Server Management Studio 时,都可能会收到类似于此错误消息的错误消息。
解决方法:
1、单击“开始”,单击“运行”,键入 regedit,然后单击“确定”。
2、找到以下注册表子项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\90\Tools\Shell\TlbAutoRepair\mscorlib.tlb
注意:
如果是在 64 位操作系统上安装 SQL Server 2005,请找到下面的注册表子项:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SQL Server\90\Tools\Shell\TlbAutoRepair\mscorlib.tlb
如果安装的是 SQL Server 2005 Express Edition with Advanced Services,请找到下面的注册表子项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\90\Tools\ShellSEM\TlbAutoRepair\mscorlib.tlb
3、在右侧窗格中,双击注册表项“TlbPath”。将出现“编辑字符串”对话框。
4、在“数值数据”框中,用下面的值替换“%CLRVERSION%”:
v2.0.50727
注意:值 v2.0.50727 指示 SQL Server 2005 原始发行版本使用的 .NET Framework 版本。
5、单击“确定”,然后退出注册表编辑器。
重要说明:如果您安装 SQL Server 2005 Service Pack 或修补程序,则 Service Pack 或修补程序会将您在步骤 4 中替换的值更改回 %CLRVERSION%。如果在安装 Service Pack 或修补程序之后仍然存在本文中所描述的问题,则必须再次执行这些步骤以解决此问题。
PS:
笔者的电脑上面,Meaningless_string 显示为乱码,类似中文汉字,
TlbPath 的原注册表项为:%windir%\Microsoft.NET\Framework\%CLRVERSION%\mscorlib.tlb
直接替换后注册表项为:%windir%\Microsoft.NET\Framework\v2.0.50727\mscorlib.tlb
重启Microsoft SQL Server Management Studio 一切正常。