今天整理一下 assembly, 总感觉第一章 到 第三章 没怎么仔细看, 导致后面作者说前面说过的, 我就心里不舒服, 前面3章很干很涩, 好好啃啃, 先作一些简单笔记, 最后再来 整体整理, 反正还要做PPT, 哎 自作孽啊~

多文件的Assembly

放在Internet 上面下载, Active Accessibility, code base 定义 URL,

多文件assembly 优点.

可以按类型分类文件,按需增量下载文件,分批打包部署.

可以向程序集中添加资源或者数据文件 AL.exe.

各个类型文件可以用不同语言来写,ILDasm.exe 获得IL code,ILAsm.exe把所有程序打包.

 

PE 文件,清单

/t:exe /t:winexe /t:library

/t:module 不含清单,生成.netmodule后缀文件

/addmodule

eg:

rut.cs + fut.cs

csc /t:module rut.cs  -> rut.netmodule

csc /out:TypeMe.dll /t:library /addmodule:rut.netmodule fut.cs

rut.netmodule 在 ExportedTypesDef 中 (exported 出口)

 

token请查corhdr.h

 

添加assembly IDE VS

assembly 出现在.net tab, 修改 HLM\software\microsoft\.netframework\assemblyfolders\mylibname  或者 HCU\

 

为程序集添加资源文件

AL.EXE

/embed[resource]  /link[resource]

csc.exe

/resource /linkresource

/win32res  /win32icon

 

版本信息

System.Diagnostics.FileVersionInfo.GetVersionInfo    (Diagnostics [ˌdaɪəɡˈnɑstɪk] 诊断)

AL.exe /fileversion /productversion

major  minor  build  revision  (revision [rɪˈvɪʒ(ə)n] 修订)

AssemblyFileVersion  win32

AssemblyInformationalVersion win32

AssemblyVersion AssemblyDef

question:能否相同呢???比如上次的 fileversion 和这次的fileversion, informationalverison是干什么用的呢?

 

语言文化

culture neutral  (neutral [ˈnutrəl] 中立)

satellite assembly 附属程序集

AL.exe /c[ulture]:text

System.Resources.ResourceManager

question:怎么执行本地化呢???

 

简单的部署

注册表

.cab msi clickonce

 

简单管理控制(配置)

配置文件 xml

<probing privatePath=”” /> string semicolon delimited  路径, 只能相对路径, 不能绝对路径

Machine config  %SystemRoot%\Microsoft.Net\Framework\Version\CONFIG

 

第二章 Summary

csc.exe /out: /t: /r

response files @###.rsp csc.rsp(framework\64 folder)

metadata

combine module:

advantage/why      changes in metadata    /t:module->netmodule /addmodule  IDE

AL.exe csc.exe

version major minor build revision

culture

deploy/control

 

把第二章发出去吧, 这样比较有成就感, 终于看完一章, 再也不用一遍一遍看, 还不知道说的是什么了. happy~

[CLR VIA C#] chapter2 building,packaging,deploying, and administering的更多相关文章

  1. CLR via C# 3rd - 02 - Building, Packaging, Deploying, and Administering Applications and Types

    1. C# Compiler - CSC.exe            csc.exe /out:Program.exe /t:exe /r:MSCorLib.dll Program.cs       ...

  2. Building,Packaging,Deploying,and Administering Applications and Types

    在我们进入章节之前,我们讨论一下生成.打包和部署你的应用程序和应用程序类型必须的步骤.在这章里,我关注的是如何为你的应用程序的用途生成程序集.在第三章,"共享程序集合和强命名程序集" ...

  3. Networked Graphics: Building Networked Games and Virtual Environments (Anthony Steed / Manuel Fradinho Oliveira 著)

    PART I GROUNDWORK CHAPTER 1 Introduction CHAPTER 2 One on One (101) CHAPTER 3 Overview of the Intern ...

  4. Awesome Python

    Awesome Python  A curated list of awesome Python frameworks, libraries, software and resources. Insp ...

  5. Python开源框架、库、软件和资源大集合

    A curated list of awesome Python frameworks, libraries, software and resources. Inspired by awesome- ...

  6. Python 库汇总英文版

    Awesome Python  A curated list of awesome Python frameworks, libraries, software and resources. Insp ...

  7. CNCF CloudNative Landscape

    cncf landscape CNCF Cloud Native Interactive Landscape 1. App Definition and Development 1. Database ...

  8. CNCF LandScape Summary

    CNCF Cloud Native Interactive Landscape 1. App Definition and Development 1. Database Vitess:itess i ...

  9. 【机器学习Machine Learning】资料大全

    昨天总结了深度学习的资料,今天把机器学习的资料也总结一下(友情提示:有些网站需要"科学上网"^_^) 推荐几本好书: 1.Pattern Recognition and Machi ...

随机推荐

  1. JBOSS实现RMI时注意的问题

    使用JBOSS部署EJB服务后通过RMI访问报错: javax.naming.CommunicationException: Could not obtain connection to any of ...

  2. jbpm4.4 demo1

    package cn.itcast.a_helloworld; import java.util.List; import org.jbpm.api.Configuration; import org ...

  3. maven 通过nexus创建工厂的配置

    访问中央工厂的地址:http://localhost:8081/nexus/index.html#welcome   admin.admin123 查找到自己配置的maven仓库的位置,编辑setti ...

  4. 准备开一个地图SDK的开源项目

    最近有点空闲时间了, 准备开一个地图SDK的开源项目, 现在的地图SDK已经有很多了, 再做一个跟重新发明个轮子差不多, 但还想做的原因是想在别的轮子的基础上造个轮子... 初步设想是基于开源的地图渲 ...

  5. 【05】了解C++默默编写并调用那些函数

    1.如果没有声明copy构造方法,copy赋值操作符,和析构方法,编译器会自动生成这些方法,且是inline. 2.如果没有声明任何构造方法,编译器会自动生成一个default构造方法,且是inlin ...

  6. MyBatis<forEach/>如何遍历Map参数里的值

    纠结了好一阵子, 最终给我解决了. 直接上代码了: mapper文件: <insert id="saveBlogs"> INSERT INTO blog (user_i ...

  7. Ubuntu 12.04 64bit 配置完android 5.0编译环境后出现“could not write bytes: Broken pipe.”而无法进入输入帐号密码的登陆界面

    Ubuntu 12.04 64bit 配置完android 5.0编译环境后出现“could not write bytes: Broken pipe.”而无法进入输入帐号密码的登陆界面.上网问了问百 ...

  8. apache配置directoryindex

    为了让程序自动执行目录下的某个文件,可以配置虚拟主机中的directoryindex 如: <VirtualHost *:80>    DocumentRoot "D:/var/ ...

  9. System Address Map Initialization in x86/x64 Architecture Part 2: PCI Express-Based Systems

      原文  http://resources.infosecinstitute.com/system-address-map-initialization-x86x64-architecture-pa ...

  10. Spring MVC 3.0.5+Spring 3.0.5+MyBatis3.0.4全注解实例详解(四)

    这一章大象将详细分析web层代码,以及使用Spring MVC的注解及其用法和其它相关知识来实现控制器功能.     之前在使用Struts2实现MVC的注解时,是借助struts2-conventi ...