了解GAC:从“找不到Microsoft.SqlServer.SqlClrProvider.dll”的问题开始
来源:互联网 发布:windows ce iso 编辑:程序博客网 时间:2024/05/17 00:56
了解GAC:从“找不到Microsoft.SqlServer.SqlClrProvider.dll”的问题开始
老帅
先上图,看真相,如下:
一、问题描述
我使用Microsoft.SqlServer.Smo开发了一个数据库管理工具,根据定制的需求,完成对SQLServer的管理。部署到客户机以后,就提示上述错误。而这个文件在我本机上使用全盘搜索,无论如何也搜索不到。
二、追根溯源
经过研究,发现这个文件是SQLServer2012的一个运行时支持库,存在于SQLSysClrType.msi中,下载地址如下:
http://www.microsoft.com/zh-cn/download/details.aspx?id=43339
包含x86和x64两个版本,请根据自己的需要使用。
包含x86和x64两个版本,请根据自己的需要使用。
三、使用方法
当然,我们可以把SQLSysClrType.msi安装到客户机中使用,其实我们只需要这个动态库文件而已:
Microsoft.SqlServer.SqlClrProvider.dll
事实上只需要把这个文件和我们的exe一起部署到客户机即可,但是安装完SQLSysClrType.msi之后,我们在本机上仍然搜索不到这个动态库。
原来这个文件安装在系统的GAC中!!!
什么是GAC?
微软为提高系统安全,自Vista推出后,在Windows系统中加入了一个新的东东——UAC(User Account Control),这样一个新的技术使得许多操作都受到了约束,尤其是对系统设置、文件的修改,Win7作为一个衍生品,也受到了UAC的保护。
在.NET项目开发中,针对一些类库项目或用户控件项目,当程序开发完成后,有时需要将开发的程序集,安装部署到GAC(Global Assembly Cache)中,以便其他的程序也可以调用。
通常,将程序集安装到GAC有两种方法:
1、将程序集(dll文件)手动拖至 C:/Windows/assembly 文件夹中。
2、利用命令行或者全局程序集缓存工具Gacutil进行安装。
原来如此!
GAC的目录在c:\windows\assembly, 而这个目录是不允许你直接复制粘贴的,只能使用命令行,你会发现GAC的目录结构与Windows Explorer展示给你的看的目录不同:
为了把文件拿出来, 你需要使用命令行:
0 0
- 了解GAC:从“找不到Microsoft.SqlServer.SqlClrProvider.dll”的问题开始
- 无法装载DLL Microsoft原因: 126(找不到指定的模块
- 导出GAC中Assessbly的DLL文件
- 巧解找不到MSVCR80.dll 的问题
- 如何解决"找不到MSVCR80.dll "的问题
- 如何解决"找不到MSVCR80.dll "的问题
- 如何解决"找不到MSVCR80.dll "的问题
- 关于找不到aspnet_isapi.dll文件的问题
- MFC解决找不到MFC90.DLL的问题
- 程序找不到qsqloci4.dll的问题
- 解决找不到msvcr120d.dll的问题
- "找不到mfc42d.dll"问题
- mvscp140.dll文件下载,解决找不到mvscp140.dll的问题
- Microsoft office 2013找不到igx.dll解决方案
- Copy GAC dll
- 开博~(解决了“找不到Microsoft Internet Explorer”的问题)
- C#工程找不到Microsoft.Xna.Framework名字空间的问题
- 将dll注册到GAC的简单图解教程
- Android高手速成--第一部分 个性化控件(View)
- 2015 重新开始
- UIGestureRecognizer
- 16周(指针玩字符串)
- 第十六周项目2-用指针玩字符串(任务三:求字符串长度)
- 了解GAC:从“找不到Microsoft.SqlServer.SqlClrProvider.dll”的问题开始
- AFnetworking2.0翻译
- 一个好的APP运营专员的逼格修养
- sed之G、H、g、h使用
- jQuery测试
- bat 读写文件中对感叹号“!”的处理
- 第一
- OWASP Top 10 – 2013, 最新十大安全隐患(ASP.NET解决方法)
- 第16周项目1数组的排序