本篇主要体验,在存在多个版本程序集的情况下,如何让CLR选择哪个版本程序集运行,以及程序集版本的切换. 分别生成非强名称程序集不同版本 □ 生成某个版本的程序集 →清理F盘as文件夹,剩下如下文件 →查看Cow.cs文件 using System; using System.Reflection; [assembly: AssemblyVersion("3.3.3.3")] public class Cow { public static void Moo() { Console.Wr…
本篇体验C#编译器和CLR运行时如何查找程序集,并自定义CLR运行时查找程序集的方式. □ C#编译器和CLR运行时如何查找程序集 C#编译器在哪里?--在C:\Windows\Microsoft.NET\Framework\v4.0.30319中 →删除F盘as文件夹中所有的exe和dll文件→把上一篇全局程序集缓存文件夹(C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Farm\v4.0_3.3.3.3__863de8402b3a9978)中的Farm.…
全局程序集缓存(GAC:Global Assembly Cache)用来存放可能被多次使用的强名称程序集.当主程序需要加载程序集的时候,优先选择到全局程序集缓存中去找寻需要的程序集. 为什么需要全局程序集缓存?假设程序A引用B程序集,程序C也引用B程序集,在这种情况下,可以把B程序集放到一个全局程序集缓存中是明智的做法. □ 使用全局缓存程序集 →删除F盘as文件夹中所有dll和exe后缀的文件→编译Cow.cs成程序集 →把刚创建的Farm.dll存放到全局程序集缓存中报错是因为,非强名称程序…
当一个程序集的名称,版本,文化,Public Key都做了设置,就可以把这个程序集叫做"强名称程序集".强名称程序集可以防止被仿冒或篡改.本篇首先创建一个强名称程序集,接着模拟篡改程序集,看看最终结果如何? □ 创建一个强名称程序集 →在"C#程序集系列08,设置程序集版本"和"C#程序集系列09,程序集签名"中,在F盘的as文件夹中创建了一些文件→删除所有除了.cs类型的所有文件→创建一个密匙→编译Cow.cs,并用密匙签名→编译MainCla…
在"C#程序集系列08,设置程序集版本"中体验了为程序集设置版本,但对于程序集的安全性来说,还远远不够.本篇体验程序集的签名. □ 程序集的签名 →F盘as文件夹下有多个文件→在程序集所在文件夹创建密匙→打印密匙密匙是一堆乱码,这是经过加密了.→在密匙的基础上创建公匙Public Key→打印公匙Public Key注意:这里的public token是public key经过哈希算法而获得的.当程序集被引用,该程序集对外是以public token形式存在的. →现在重新编译&quo…
区别一个程序集,不仅仅是程序集名称,还包括程序集版本.程序集公匙.程序集文化等,本篇体验通过界面和编码设置程序集版本. □ 通过Visual Studio设置程序集版本 →右键项目,选择"属性",选择"应用程序"→点击"程序集信息",设置如下,点击确定→点击项目Properties文件夹下的AssemblyInfo.cs,可以看到程序集版本已经设置生效[assembly: AssemblyVersion("3.3.3.3")]…
以下几个方面用来区分不同的程序集:○ 程序集名称:Name○ 程序集版本:Version○ 程序集公匙: Public Token○ 程序集文化:Culture 如果没有很严格地按照上面的几个方面来创建程序集,程序集是很容易被篡改的.本篇体验篡改程序集. →清空F盘as文件夹下的所有文件→在as文件夹下创建Dog.cs类,用记事本打开,编写如下,保存 using System; public class Dog { public static void MakeSound() { Console…
CLR在加载程序集的时候会查看程序集清单,程序集清单包含哪些内容呢?可执行文件和程序集有什么区别/ 程序集清单 □ 查看程序集清单 →清空F盘as文件夹中的所有内容→创建MainClass.cs文件→把MainClass.cs编译成程序集→反编译MyDll.dll,在1.txt文件中呈现 ildasm /out:1.txt MyDll.dll →打开1.txt文件 1.txt // Metadata version: v4.0.30319 .assembly extern mscorlib {…
本篇体验在一个程序集中包含多个module. □ 创建3个module →删除F盘as文件夹中的一些文件,只剩下如下3个文件→用记事本打开MyFirstModule.cs文件,修改如下,并保存 using System; public class MyFirstModule { public static void Hello() { Console.WriteLine("来自module 1的问候~"); } } →用记事本打开MySecondModule.cs文件,修改如下,并保存…
本篇在一个程序集包含多个module的场景下体验internal的含义. →查看F盘as文件夹下的文件→删除MainClass.exe→把MyFirstModule和MySecondModule组装到一个程序集中去现在,MyDll.dll程序集中包含了2个module.→反编译,把MyDLL.dll的IL代码显示到3.txt文件中→打开3.txt文件 // Metadata version: v4.0.30319 .assembly extern mscorlib { .publickeytok…
我们经常在项目中引用程序集.通常情况下,一个程序集包含一个module,但一个程序集也可以包含多个module.本篇就来体验:在一个可以被编译成.exe可执行文件的.cs文件中引用多个module. □ 创建第一个module→在前面2篇文章中,F盘的as文件夹中存放了若干程序集等文件.→打开"VS2012开发人员命令提示",输入如下命令,最终清空了F盘的as文件夹中的所有内容→在F盘的as文件夹中创建MyFirstModule.cs,用记事本打开编写如下代码,并保存 using Sy…
继续上一篇"C#程序集系列01,用记事本编写C#,IL代码,用DOS命令编译程序集,运行程序",在F盘的as文件夹中已经有了若干程序集.本篇体验使用记事本查看可执行程序集的IL代码. →打开"VS2012开发人员命令提示",输入如下命令,并按回车在as文件夹中多了1.txt和1.res这2个文件→输入如下命令打开1.txt // Microsoft (R) .NET Framework IL Disassembler. Version 4.0.30319.18020…
本篇主要体验:编写C#,IL代码,用"VS2012开发人员命令提示"编译成程序集,并运行程序. □ C#文件编译为程序集 →在F盘创建as文件夹→在as文件夹下创建MyClass.cs→用记事本打开编写如下代码,并保存 using System; public class MyClass { public static void PrintSth() { Console.WriteLine("Hello"); } } →打开"VS2012开发人员命令提示&…
原文:[Xamarin开发 Android 系列 13] 应用打包部署 开始倒叙咯................ 先更新大宝部署吧,这个章节比较的Easy,童鞋们不用费脑筋.点解?从界面上填写几个参数,其他都是傻瓜式的[下一步],童鞋们是否喜欢.卤煮 反正很是受用. 我们开发好的程序,需要打包成 .apk,成为安卓的安装包.然后就可以通过下载的形式安装到 用户终端手机/平板/TV/Watch....... 发布程序 主要的还是将应用发布到 谷歌的官方商店 Google Play..再然后就是其…
clr基本 CLR(Common Language Runtime)是一个可由多种编程语言使用的“运行时”.(例如:c#,c++/cli,vb,f#,ironpython,ironruby,il...) CLR的核心功能内存管理.程序集加载.安全性.异常处理.线程同步.泛型.尾调用指令和基本的公共语言基础结构 (CLI) 类型系统等. 托管模块是一个标准的32位microsoft windows可移值执行体pe32文件(64位系统为pe32+),他们需要clr才能执行. 托管的程序集总是利用wi…
java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java 集合系列 04 LinkedList详细介绍(源码解析)和使用示例 Java 集合系列 05 Vector详细介绍(源码解析)和使用示例 Java 集合系列 06 Stack详细介绍(源码解析)和使用示例 Java 集合系列 07 List总结(LinkedList, ArrayList等使用场景和…
原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(13)-权限设计 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo    (3):面向接口编程   (4 ):业务逻辑层的封装    (5):前台Jquery easyUI实现   (6):EF上下文实例管理   (7):DBSession的封装   (8):DBSession线程内唯一    (9):TT摸版的学习   (10):VSS源代…
本章内容包括3个部分:BufferedOutputStream介绍,BufferedOutputStream源码,以及BufferedOutputStream使用示例. 转载请注明出处:http://www.cnblogs.com/skywang12345/p/io_13.html BufferedOutputStream 介绍 BufferedOutputStream 是缓冲输出流.它继承于FilterOutputStream.BufferedOutputStream 的作用是为另一个输出流提…
CAN总线学习系列之三——CAN控制器的选择 在进行CAN总线开发前,首先要选择好CAN总线控制器.下面就比较一些控制器的特点. 一些主要的CAN总线器件产品 制造商 产品型号 器件功能及特点 Intel 82526825278XC196CA/CB CAN通信控制器,符合CAN2.0ACAN通信控制器,符合CAN2.0B扩展的8XC196+CAN通信控制器,符合CAN2.0A Philips 82C200SJA100082C250TJA1040TJA10548XC5928XCE598P51XA-…
介绍 在本教程中,我们将介绍如何在struts.xml中配置action节点以达到仅使用一个action节点将几个不同的url关联到特定action类的特定方法.这样做的目的是减少struts.xml文件中action节点的数量 本帖地址:struts2官方 中文教程 系列十三:利用通配符选择方法 即 http://www.cnblogs.com/linghaoxinpian/p/7047295.html 下载本章节代码 不使用通配符 新建一个PersonAction类,类里包含create.e…
wpf多程序集之间共享资源字典--CLR名称空间未定义云云 分类: WPF 2012-10-28 10:57 1162人阅读 评论(0) 收藏 举报 以下介绍如何创建可用于在多个程序集之间共享的资源字典 1.新建Wpf自定义控件库,名称为MyContorlLib,项目资源结构图如下: 2.打开Themes文件夹中的Generic.xaml文件,在根元素中添加如下名称空间:xmlns:local="clr-namespace:MyContorlLib"因为待会儿要用到该名称空间下的一个类…
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 在选择画面显示输出结果   前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 步骤如下: 1:选择屏幕定义 2:INITIALIZATION内容: 首先注册CLASS 创建对象: 输出定义: 3:START-OF-SELECTION内容: 获取数据: 4:注册LCL_REPORT事件…
0. 前言 在<C# 基础知识系列- 13 常见类库(二)>中,我们介绍了一下DateTime和TimeSpan这两个结构体的内容,也就是C#中日期时间的简单操作.本篇将介绍Guid和Nullable这两个内容. 1. Guid 结构 Guid(Globally Unique Identifier) 全局唯一标识,是一种由算法生成的二进制长度为128位的字符串,但字符串的长度是36其中32位16进制的数字和四个连接符.其作用是用来表示全局唯一标识,当多个系统或者数据量大的时候,用来做唯一标识,…
前文我们有了IOC的源码基础以及SpringMVC的基础,我们便可以进一步深入理解SpringMVC主要实现原理,包含DispatcherServlet的初始化过程和DispatcherServlet处理请求的过程的源码解析.本文是第一篇:DispatcherServlet的初始化过程的源码解析.@pdai Spring框架系列(13) - SpringMVC实现原理之DispatcherServlet的初始化过程 DispatcherServlet和ApplicationContext有何关系…
本地编译全志R系列的步骤(Ubuntu16.04.4版本) 2018/6/14 9:32 版本:V1.0 0.获取全志R系列的Android源码包: 请通过渠道/代理商/方案公司获取全志R系列的Android源码包. 1.安装ubuntu 已经验证过的系统:ubuntu-16.04.4-desktop-amd64.iso ubuntu的官方下载地址(喜欢中文优化版本的,可以选择麒麟版本): http://releases.ubuntu.com/releases/16.04/ http://cdi…
微软发布win10正式版已经过去几天了,相信很多同学都心情高涨的装上了期待已久的win10系统,但也有很多同学面对win10系统的众多版本感到一脸茫然,的确,微软在win10系统版本上的划分确实有点多了,那么面对形形色色的win10系统版本,不同的人群应该选择安装什么样的版本才合适呢?去哪里才能下载到微软官方原版的系统镜像呢?不同的系统版本使用的安装密钥是什么?安装完win10系统后又该如何去激活呢?相信很多同学都有这样的迷惑,那么下面亦是美网络小编就给大家分享下win10全系列系统镜像的下载地…
类似标题:jQuery选择什么版本?jquery一般用什么版本?jquery ie8兼容版本.jquery什么版本稳定? 目前jQuery有三个大版本:1.x:兼容ie678,使用最为广泛的,官方只做BUG维护,功能不再新增.因此一般项目来说,使用1.x版本就可以了,最终版本:1.12.4 (2016年5月20日)2.x:不兼容ie678,很少有人使用,官方只做BUG维护,功能不再新增.如果不考虑兼容低版本的浏览器可以使用2.x,最终版本:2.2.4 (2016年5月20日)3.x:不兼容ie6…
本人电脑装了VS2017 和 VS2013版本.可能时VS2017安装的时间早,每次cmake文件时优先选择编译成VS2017的文件 可通过查看VS2013的版本,使用 cmake ../pcl-superbuild-master -G "Visual Studio 12 2013" 即可完成cmake时选择2013版本…
购买阿里云的云服务器时选择镜像centos时应该选择哪个版本 方法/步骤首先,我们要清楚的便是每个系统之间的差别,以及在阿里云上的差别:1. Windows1.1) 系统内含正版激活.1.2) 适合于运行Windows下开发的程序,如.net等.1.3) 支持SQL Server等数据库(需自行安装).1.4) 可以使用远程桌面方式登录进行管理.注:512内存不支持选择Windows系统,1G以上内存才能很好支持该系统.2. Linux2.1.1) 最流行的服务器端操作系统,强大的安全性和稳定性…
安装步骤 事前准备(安装 wget.screen.unzip,创建 screen 会话) yum -y install wget screen git git clone 并赋予脚本执行权限 git clone https://github.com/teddysun/lamp.git cd lamp chmod +x *.sh 开始安装 screen -S lamp ./lamp.sh 选择是否安装apache 直接回车默认安装apache: 选择需要的apache模块 选择MySQL的版本,可…