[CLR VIA C#] chapter2 building,packaging,deploying, and administering
今天整理一下 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的更多相关文章
- 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 ...
- Building,Packaging,Deploying,and Administering Applications and Types
在我们进入章节之前,我们讨论一下生成.打包和部署你的应用程序和应用程序类型必须的步骤.在这章里,我关注的是如何为你的应用程序的用途生成程序集.在第三章,"共享程序集合和强命名程序集" ...
- 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 ...
- Awesome Python
Awesome Python A curated list of awesome Python frameworks, libraries, software and resources. Insp ...
- Python开源框架、库、软件和资源大集合
A curated list of awesome Python frameworks, libraries, software and resources. Inspired by awesome- ...
- Python 库汇总英文版
Awesome Python A curated list of awesome Python frameworks, libraries, software and resources. Insp ...
- CNCF CloudNative Landscape
cncf landscape CNCF Cloud Native Interactive Landscape 1. App Definition and Development 1. Database ...
- CNCF LandScape Summary
CNCF Cloud Native Interactive Landscape 1. App Definition and Development 1. Database Vitess:itess i ...
- 【机器学习Machine Learning】资料大全
昨天总结了深度学习的资料,今天把机器学习的资料也总结一下(友情提示:有些网站需要"科学上网"^_^) 推荐几本好书: 1.Pattern Recognition and Machi ...
随机推荐
- JBOSS实现RMI时注意的问题
使用JBOSS部署EJB服务后通过RMI访问报错: javax.naming.CommunicationException: Could not obtain connection to any of ...
- jbpm4.4 demo1
package cn.itcast.a_helloworld; import java.util.List; import org.jbpm.api.Configuration; import org ...
- maven 通过nexus创建工厂的配置
访问中央工厂的地址:http://localhost:8081/nexus/index.html#welcome admin.admin123 查找到自己配置的maven仓库的位置,编辑setti ...
- 准备开一个地图SDK的开源项目
最近有点空闲时间了, 准备开一个地图SDK的开源项目, 现在的地图SDK已经有很多了, 再做一个跟重新发明个轮子差不多, 但还想做的原因是想在别的轮子的基础上造个轮子... 初步设想是基于开源的地图渲 ...
- 【05】了解C++默默编写并调用那些函数
1.如果没有声明copy构造方法,copy赋值操作符,和析构方法,编译器会自动生成这些方法,且是inline. 2.如果没有声明任何构造方法,编译器会自动生成一个default构造方法,且是inlin ...
- MyBatis<forEach/>如何遍历Map参数里的值
纠结了好一阵子, 最终给我解决了. 直接上代码了: mapper文件: <insert id="saveBlogs"> INSERT INTO blog (user_i ...
- 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.”而无法进入输入帐号密码的登陆界面.上网问了问百 ...
- apache配置directoryindex
为了让程序自动执行目录下的某个文件,可以配置虚拟主机中的directoryindex 如: <VirtualHost *:80> DocumentRoot "D:/var/ ...
- 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 ...
- Spring MVC 3.0.5+Spring 3.0.5+MyBatis3.0.4全注解实例详解(四)
这一章大象将详细分析web层代码,以及使用Spring MVC的注解及其用法和其它相关知识来实现控制器功能. 之前在使用Struts2实现MVC的注解时,是借助struts2-conventi ...