精华内容
下载资源
问答
  • .NET 程序集信息 显示 .NET 程序集信息,例如: 编译模式(调试/发布) .NET 程序集全名 .NET 程序集引用(甚至递归) 执照 .NET 程序集信息源代码是下的
  • 与Silverlight共享您的.NET程序集
  • Flash .net程序集

    2014-05-26 11:42:18
    收集.net程序集,此程序集用于做Flash播放器。
  • 一个直接检查和反射检查.NET程序集的应用程序
  • 主要介绍了如何合并多个 .NET 程序集的方法,大家可能都听说过项 ILMerge, SmartAssembly, 等这样的工具.但是我想如果我们就能通过在编译时将所有这些源代码文件导入一个项目,来获得这些东西的一个完美组合.下面...
  • Shell扩展,用于区分.NET程序集和Win32应用程序和库。
  • 保护.NET .NET程序集的混淆器。 特征 -重命名 -字符串加密 我计划增加更多,这只是目前的基础,直到我学习如何做更多为止。 学分 -0xd4d:dnlib
  • 使用ManagedInjector,可以将.NET程序集注入到其他.NET进程中。 这使您可以在该过程的上下文中运行自己的代码,并允许您使用.NET反射API访问其所有内部状态。 ManagedInjector:syringe:使用ManagedInjector,您可以...
  • sql any where调用.net程序集.pdf
  • RunDLL.Net使用Rundll32.exe执行.Net程序集用法:rundll32 Rundll.Net.dll,主要 [(type)] [arg1] [(type)] [arg2] ... RunDLL.Net使用Rundll32.exe执行.Net程序集用法:rundll32 Rundll.Net.dll,main [(type...
  • 使用.net 程序集 对windows api 的封装,包含 user32,kernel32 等核心api,便于.net开发者使用 windowsAPI
  • .NET程序集编辑器 Reflexil是一个程序集编辑器,可作为Red Gate的Reflector , ILSpy和Telerik的JustDecompile的插件运行。 Reflexil使用的是由Jb Evain编写的Mono.Cecil,并且能够操纵IL代码并将修改后的程序集...
  • .Net程序集入门

    2015-04-18 09:16:50
    .NET 程序集的作用: 能够做到与语言无关的代码重用。 .NET 程序集是可版本化的单元,是自描述的,可配置的。 .NET 程序集的格式: 1. window文件首部 (标识了程序以什么类型,形式驻留与window操作系统) 2....
                                         **摘要**
    

    .NET 程序集的作用: 能够做到与语言无关的代码重用。
    .NET 程序集是可版本化的单元,是自描述的,可配置的。
    .NET 程序集的格式:
    1. window文件首部 (标识了程序以什么类型,形式驻留与window操作系统)
    2. CLR文件代码 (托管文件的布局分布)
    3. CIL代码 (独立于平台与CPU的中间语言)
    4. 类型元数据 (描述了程序集内含类型与引用外部类型的格式)
    5. 程序集清单 (用于定位外部程序集的引用,自身程序集的模块)
    6. 可选的嵌入资源 (程序图片,图像文件,声音片段, )

    私有程序集与共享程序集介绍


                                          **程序集清单**
    

    使用反汇编工具(ildasm.exe)观察,可执行的文件的程序集清单
    1. 点击file (选择要观察的.exe文件)
    2. 点击MANIFST选项,弹出该.exe文件的程序集清单;如图所示:

    图中每个块都有由.publickeytoken与.ver组成,分别表示程序集被配置成强名称(以后介绍),数                    字版本标识。

           图中每个块都有由.publickeytoken与.ver组成,分别表示程序集被配置成强名称(以后介绍),数                    字版本标识。
    

    这里写图片描述

          同时我们会发现很多.custom标识(可在项目中的AssemblyInfo.cs中发现),它们标识了程序集级别的特性(关于特性,以后介绍)
    

    3. 可以在点击 “解决方案资源管理器 ” 中的属性图标,在单击“应用程序”页面中的“程序集信 息”,可视化的设置上述相关的内容


                                           **CIL **
    

    CIL是独立于平台的指令,当.NET运行库把一个程序集添加到内存的时候,CIL会被编译成目标平台可以理解的指令
    理解CIL语法有助于构建复杂的高级服务应用程序,CIL语法以后再涉及


                                         **程序集的配置**
    

    简单的介绍了程序集中所包含的内容后,接下来介绍程序集在应用程序中的配置


    私有程序集
    当一个客户端程序使用定义在外部程序集的类型的时候,.Net运行库查找被引用的程序集时并不查询系统注册表
    因此我们可以将需要用到的程序集放到应用程序的目录下,这被称为Xcopy部署 。该程序成为私有程序集。
    卸载私有程序集很简单,直接删除文件就行,不会影响其程序的运行

    私有程序集的标识
    私有程序集的标识包括:友好名称与数字版本号

    私有程序集的探测
    把私有程序集放到正确的位置后,.NET运环境会解析该程序集的位置。这种探测有两种方式:
    隐式加载请求:在CLR查询清单的.Assembly extern标记来解析程序集位置的时候。自动请求
    显示加载请求: 以编程的方式调用 System.Reflection.Assembly类的load();
    当在应用程序目录下找不到被请求的程序集时,CLR会尝试查找该目录下具有被请求程序集友好名称的子目录

    私有程序集的配置
    1,添加对程序集的引用:选中要添加引用的项,右键,选择添加引用,找到要引用的程序集点击确定。(程序集会自动被添加到应用程序目录下)

    2,当需要把私有程序集放到应用程序目录下的不同子目录的时候,可以通过新建一个.exe.config文件进行配置。
    该文件中的probing用于指明程序应该哪个子目录下进行探测。ex:<probing privatepath="mylib;mybib/bin">探测多个目录用分号隔开

    3,我们也可以通过程序中的APP.config文件实现上述2的目标,当我们对APP.config进行修改的时候,
    VS会自动的生成相应的.exe.config文件。


    共享程序集
    位于全局程序集缓存(GAC),可供机器上多个程序使用的程序集被称为共享程序集.
    GAC在.NET1.0到.NET3.5版本时,位于C:\Windows\assembly中;在.NET4.0时位于C:\Windows\Microsoft.net\asssembly\GAC_MSIL中。

    强名称组成

    1. 程序集友好名称
    2. 程序集版本号 (清单中的.very值,前面提到过)
    3. 公钥值 (清单中的.publickeytoken值)
    4. 用于本地化的可选区域性标识 (使用【AssemblyCulture】特性赋值)
    5. 数字签名

    生成强名称

    1. 首先需要使用sn.exe工具生成 公钥/私钥对。
    2. C#编译器会基于程序集的清单,CIL(带有公钥),类型数据生成程序集散列码。
    3. 私钥数据与程序集散列码组成数字签名,嵌入到程序集中。
    4. 具体的我们可以在【解决方案资源管理器 】-【属性页】-【signing】为程序集生成强名称

    安装强名称程序集
    使用.NET FrameWork 4.5 SDK提供的gacutila.exe工具,输入/?查看操作方式。

    1. -i 表示安装
    2. -u 表示卸载
    3. -l 用于判断安装是否成功

    使用共享程序集时,仍需添加相应的引用


    发行者策略程序集
    当程序的最新程序集版本更新到GAC时,把一个*config文件的二进制版本也安装到GAC。
    这样客户端程序目录就不需要包含任何.config 文件,因为CLR在查询程序清单的时候,会先执行GAC级别的.config文件(即发行者策略程序集)

    好处:

    1. 程序小白在使客户端程序时,不需要手动的为最新程序版本配置.config文件。
    2. 只要新版本的程序集安装到GAC中,则原来有缺陷的客户端程序不需要重新编译生成和发布。

    其他
    我们不能100%的保证,发行者策略程序集适合所有的用户。所以针对于发行者程序集策略无法正常使用的情况,我们需要禁止发行者程序集策略,让程序能够使用原来的版本

    可以指示CIL探索任何位置的程序集,包括位于远程计算机的程序集,前提是该程序集具有强名称。详细情况可以查看system.Configration命名空间

    参考书籍《精通C#》

    展开全文
  • Windows实用程序,用于修补.NET程序集。 集成了ilasm,ildasm和cecil,可以进行现场修补。
  • .Net程序集信息提取器

    2010-10-09 15:15:00
    该程序提供了查看.Net程序集的功能,该程序主要使用的.Net的反射机制,针对现有的程序集进行反射,从而得到该程序集中的类型,字段和方法,本程序需要扩展和完善
  • 主要为大家详细介绍了.NET程序集引用COM组件MSScriptControl遇到问题的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 使用.net 程序集 对windows api 的封装,包含 user32,kernel32 等核心api,便于.net开发者使用 windowsAPI
  • DC.NET Protector一个用于加密.NET程序集文件的开源工具,可帮助人们保护其版权。 背景许多.net开发人员都担心DC.NET Protector是一种用于加密.NET程序集文件的开源工具,可帮助人们保护自己的版权。 背景许多.net...
  • ExecuteAssembly是使用C / C ++构建的CS执行程序集的一种替代方法,它可用于通过以下方式加载/注入.NET程序集; 重用主机(spawnto)进程加载的CLR模块/ AppDomainManager,重载Loader / .NET程序集PE DOS标头,...
  • 主要介绍了SQL Server中调用C#类中的方法实例(使用.NET程序集),本文实现了在SQL Server中调用C#写的类及方法,需要的朋友可以参考下
  • 许多.net开发人员担心自己的软件已经被破解,版权受到侵犯,因此他们使用一些工具来混淆IL代码。... 所以我写DC.NET Protector可以对.NET程序集进行深层加密,帮助人们保护自己的版权。该工具是开源的。
  • SourcetrailDotnetIndexer是一个命令行工具,将.NET程序集作为输入,并生成可以用加载的数据库。 它使用反射从程序集中收集所有类型,还解析方法的IL代码。 它使用编写数据库。 为了方便起见,已经包含...
  • ILMergeGUI 合并多个.net程序集和exe文件工具和源码,包含使用说明和方法,使用ILMerege不需要敲命令,只需要点点手指选择程序集和exe文件,就可以合并成功
  • .NET Reference Explorer(简称 RefExplorer)是一个 Windows 软件,用于显示 .NET 程序集之间的依赖关系。 您可以使用它来验证您的软件架构或查找错误。 结果是一个有向图,显示了引用的程序集以及它们是否可以...
  • 使用Rundll32.exe执行.Net程序集 用法: rundll32 Rundll.Net.dll,main <assembly> <class> <method> [(type)][arg1] [(type)][arg2]... rundll32 Rundll.Net.dll,main C:\Program.dll MyProgram.Program DoThing ...
  • Netfuser是用于.NET程序集的生成后处理的框架。 Netfuser当前允许: 将多个程序集合并为一个 将程序集嵌入为.NET资源 防止逆向工程: 混淆元数据名称(命名空间,类型和类型成员) 模糊控制流 混淆字符串 提供您...
  • cpp_net_interop 从非托管 C++ 应用程序访问托管 .NET 程序集,示例
  • Sandcastle(.net程序集CHM帮助文件生成器)
  • 反编译工具 ,反编译.net程序集,还可以。
  • 探究.NET的bin引用程序集运行机制看.NET程序集部署原理   新建一个最简单的网站,并引用使用程序集Nhibernate.dll,页面代码为      运行后输出的结果 <br />  .NET ...

    探究.NETbin引用程序集运行机制 .NET程序集部署原理

     

    新建一个最简单的网站,并引用使用程序集Nhibernate.dll,页面代码为     

           

     

    运行后输出的结果

     

    .NET 程序集部署程序集运行机制总结

     

     

    .NET程序集部署方式

    1.       私有程序集部署

    DLL 作为私有程序集部署是可以采用的最简单的方法。如果设置了 PrivateBinPath 属性,则可以将 DLL 部署到宿主应用程序的 ApplicationBase 目录或者 ApplicationBase 目录的子目录中。其优点是在复制了 ApplicationBase 目录结构以后,就可以运行应用程序;其局限是不能部署到 ApplicationBase 目录的外部同时不能在两个或多个已部署应用程序之间共享私有程序集。

    2. 全局程序集缓存部署

    这种方式可以在几个应用程序之间共享程序集 DLL同时以在单个计算机上安装同一个程序集 DLL 的任意多个版本

    3.        使用配置文件<codeBase>元素对其进行配置部署

    <codeBase>元素功能强大,它允许您通过网络下载程序集 DLL。这意味着在应用程序首次使用程序集 DLL 时,CLR 可以根据需要将它下载到目标计算机。

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 342,048
精华内容 136,819
关键字:

.net程序集