当前位置: 首页 > news >正文

新网站建设特色百度下载安装到桌面上

新网站建设特色,百度下载安装到桌面上,wordpress本地建站程序,在手机上做网站是什么软件http://www.cnblogs.com/smallstone/archive/2010/06/29/1767508.html 一、GAC的作用 全称是Global Assembly Cache作用是可以存放一些有很多程序都要用到的公共Assembly#xff0c;例如System.Data、System.Windows.Forms等等。这样#xff0c;很多程序就可以从GAC里面取得… http://www.cnblogs.com/smallstone/archive/2010/06/29/1767508.html 一、GAC的作用       全称是Global Assembly Cache作用是可以存放一些有很多程序都要用到的公共Assembly例如System.Data、System.Windows.Forms等等。这样很多程序就可以从GAC里面取得Assembly而不需要再把所有要用到的Assembly都拷贝到应用程序的执行目录下面。举例而言如果没有GAC那么势必每个WinForm程序的目录下就都要从C:\WINDOWS\Microsoft.NET\Framework\vX下面拷贝一份System.Windows.Forms.dll这样显然不如都从GAC里面取用方便也有利于Assembly的升级和版本控制。 二、强命名程序集      因为不同的公司可能会开发出有相同名字的程序集来如果这些程序集都被复制到同一 个相同的目录下最后一个安装的程序集将会代替前面的程序集。这就是著名的Windows “DLL Hell”出现的原因。   很明显简单的用文件名来区分程序集是不够的CLR需要支持某种机制来唯一的标识一个程序集。这就是所谓的强命名程序集。   一个强命名程序集包含四个唯一标志程序集的特性文件名没有扩展名版本号语言文化信息如果有的话公有秘钥。   这些信息存储在程序集的清单manifest中。清单包含了程序集的元数据并嵌入在程序集的某个文件中。   下面的字符串标识了四个不同的程序集文件   “MyType, Version1.0.1.0,   Cultureneutral, PublicKeyTokenbf5779af662fc055”   “MyType, Version1.0.1.0,   Cultureen-us, PublicKeyTokenbf5779af662fc055”   “MyType, Version1.0.2.0,   Cultureneturl, PublicKeyTokenbf5779af662fc055”   “MyType, Version1.0.2.0,   Cultureneutral, PublicKeyTokendbe4120289f9fd8a”   如果一个公司想唯一的标识它的程序集那么它必须首先获取一个公钥/私钥对然后将共有秘钥和程序集相关联。不存在两个两个公司有同样的公钥/私钥对的情况正是这种区分使得我们可以创建有着相同名称版本和语言文化信息的程序集而不引起任何冲突。   与强命名程序集对应的就是所谓的弱命名程序集。其实就是普通的没有被强命名的程序集。两种程序集在结构上是相同的。都使用相同的PE文件格式PE表头CLR表头元数据以及清单manifest。二者之间真正的区别在于强命名程序集有一个发布者的公钥/私钥对签名其中的公钥/私钥对唯一的标识了程序集的发布者。利用公钥/私钥对我们可以对程序集进行唯一性识别、实施安全策略和版本控制策略这种唯一标识程序集的能力使得应用程序在试图绑定一个强命名程序集时CLR能够实施某些“已确知安全”的策略比如只信任某个公司的程序集。 三、如何创建强命名程序集, 如何查看强命名程序集的PublicKeyToken 如何创建强命名程序集 1. 在Visual Studio中的class library工程上点右键, 选择properties. 2.  选择左边的Signing选项卡. 3. 勾选Sign the assembly复选框. 在下拉列表中选择New.... 4. 在弹出的对话框中给snk文件起一个名字. 按OK. 5. 程序集强命名完成. 如何查看强命名程序集的public key token 有时候你需要在web.config文件中或者其他地方引用自己写的强命名程序集, 你需要写入像下面这样的fully qualified name: MyNamespace.MyAssembly, version1.0.3300.0, Cultureneutral, PublicKeyTokenb77a5c561934e089 前面三个部分比较容易获得, 因为是你自己写的, 你当然知道assembly的名字, 版本, 还有culture信息. 比较麻烦的部分是如何获得自己签名的程序集的public key token. 一种平常的方法是使用Reflector来打开自己的程序集, 然后获得token(实际上, Reflector会给你如同上面例子那样的完整信息). 但是这有的时候还是显得有点未免杀鸡用牛刀了. 如果你已经打开了Visual Studio, 那么仅仅是在VS的菜单里点一个菜单项就能获得答案不是更好么? 下面就是步骤. 1. 在Visual Studio中, 打开Tools菜单, 然后点击External Tools这个菜单项. 2. 在弹出的External Tools对话框中, 点击Add按钮. 3. 按照下图进行配置. sn.exe这个工具在不同版本的VS下处于不同的文件夹中. 最简单的找到它的方式是在VS Command Prompt中输入where sn.exe. 在参数框里写入-T $(TargetPath). 然后勾选Use Output Window. 这样的话, 结果就会在VS的output window. 然后点击OK, 4. 结果如图. 5. 在输出窗口可以看到结果. 这在你的solution里有多个project的时候也是可以正常工作的. 只需要点击一下Solution Explorer中的Project, 然后点击我们的菜单项就可以了. 四、如何将自己的dll注册到GAC中 在开发和测试中最常用的工具就是GACUtil.exe。 在GAC中注册程序集跟COM注册差不多但相对更容易    1把程序集添加到GAC中 GACUtil /i sample.dll 参数/i是安装的意思    2把程序集移出GAC GACUtil /u sample.dll 参数/u就移除的意思注意不能将一个弱命名程序集安装到GAC中。如果你试图把弱命名程序集加入到GAC中会收到错误信息”    Failure adding assembly to the cache: Attempt to install an assembly without a strong name”    d)强命名程序集的私有部署 例子 C:\Program Files\Microsoft Visual Studio 8\VCgacutil -i F:\myweb\BalloonShop\ClassLibrary1\bin\Debug\ClassLibrary1.dll 在C:\WINDOWS\assembly将会看到ClassLibrary1注册成功 五、查看GAC文件内容以及将DLL复制出来 在项目中我们常常会引入第三方的dll一般情况下我们都可以将所需的dll文件复制到硬盘上的一个地方然后在项目中添加引用这个操作很简单但有时候我们会遇到这样的情况就是所要引用的dll在目标机器的GAC里这时我们就不能手动将它拷贝出来了。       其实Windows的GAC是有对应的目录的一般来说为c:\Windows\assembly\这个目录有一些特殊它里面存放的是本机已安装和注册的类库dll并且不允许用户直接对其中的元素进行相关操作如复制、剪切、粘贴、修改名称等不过你可以直接将另一位置的dll文件直接拖放到这个目录下进行dll的安装但是我们不能直接将已经安装进去的dll再拷贝出来。这里我将介绍一种方法来完成这个操作。 首先我们切换到Windows的命令行方式即开始-运行-cmd-回车然后转到GAC所在的目录利用dir命令查看一下其中的内容如下图。 似乎可以明白GAC中的目录结构了基本上我们可以根据GAC目录中的Processor Architecture列来区分dir的类型例如我们要找的System.Web.Extensions属于MSIL在CMD方式下它应该就对应GAC_MSIL然后切换到这个目录下并dir。 看到我们要找的System.Web.Extensions程序集了它也是一个dir继续切进去并dir。 这时只有一个目录了继续切进去然后dir就可以看到我们最终想要的dll文件了然后通过copy命令将它复制出来就OK了 小技巧在CMD方式下使用命令时如果要输入的文件名或目录名太长可以先敲部分字符然后通过Tab键自动补全Windows的command工具会自动为你找到相匹配的内容 六、例子 如上图所示新建了2个类库文件ClassLibrary1、ClassLibrary2 1、使用上面的第三点创建了强类型程序集ClassLibrary1并且注册到GAC中(可以使用上面第三点的方法也可以使用反编译器进行反编译可以查看到PublicKeyToken值。ClassLibrary2为null,ClassLibrary1为568e03e6162a7a2e)。 2、在DataAccess中引用ClassLibrary1、ClassLibrary2编译DataAccess。 3、进入DataAccess工程的bin\debug文件夹下只有ClassLibrary2.dll与DataAccess.dll没有ClassLibrary1.dll 由此可知程序是从GAC中直接取得ClassLibrary1.dll的而不是从ClassLibrary1工程中将ClassLibrary1.dll拷贝到自身的debug中进行引用。转载于:https://www.cnblogs.com/zuiyirenjian/archive/2012/06/09/2543553.html
http://www.huolong8.cn/news/126863/

相关文章:

  • 俄华网站建设怎么把网站整站下载
  • 百度网站收录提交入口全攻略公司主页图片
  • 杭州高端品牌网站建设旅游网站的导航怎么做
  • 长春一大网站做网站能赚钱吗知乎
  • 网站图片大小重庆响应式网页建设公司
  • 德州哪里有做网站的秦皇岛微信群
  • 外贸网站建设 惠州成都房天下房产网
  • 网站备案都审核什么资料旅游网站开发的背景及意义
  • 分析不同网站的优缺点广告推广语
  • 部队网站怎么做网站导航页面制作
  • 建设网站需要购买虚拟主机吗集团网站建设工作方案
  • 来个黑黑的网站魏县手机网站建设
  • 纯文本网站建设建筑网片的用途有哪些
  • 菏泽做网站云南建设工程招标网站
  • 网站tdk优化文档app商城系统
  • 网站建设总结与心得体会网站权重是怎样进行传递的
  • 军棋是哪个网站开发的哪个网站做农产品
  • 做推送封图的网站单片机开发板
  • 上海自适应网站建设seo职业
  • 子公司网站备案怎么做网站中英文版本
  • 重庆网站制作设计获客商城类网站风格
  • 在线制作gif表情包生成器云南优化公司
  • 响应式网页网站设计南宁网站建设超薄网络
  • 上海 教育网站建设莒县做网站和微信
  • 医院网站备案前置审批河南网站seo设计
  • 广州市南沙区建设局网站网站一般的后台
  • 网站宣传软文简述网站制作步骤
  • 商贸行业网站建设哪家做网站一般注册商标哪个类
  • 网站建设及制作教程军事新闻
  • 请为hs公司的钻石礼品网站做网络营销沟通策划_预算是20万.网站建设的视频