[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 ...
随机推荐
- 安卓问题http://blog.csdn.net/xb12369/article/details/50510302
- PHP操作SQLITE
一直以来.我们操作SQLITE,都是基于PHP默认的SQLITE操作模块. 今天介绍一个能够操作SQLITE2,和SQLITE3的PHP类,此为我封装的. <? php abstract cla ...
- 解决TortoiseCVS中文乱码
解决TortoiseCVS中文乱码必备,解决方法: 第一:卸载和TortoiseCVS安装一起安装的CVSNT. 第二:安装本版本CVSNT. CVSNT下载地址:http://down.51cto. ...
- C# LINQ详解(一)
原文标题:How does it work in C#?-Part 3 (C# LINQ in detail),作者:Mohammand A Rahman. 目录 LINQ 基础 扩展方法-幕后的工作 ...
- autocommit=0
mysql; Query OK, rows affected (0.00 sec) mysql> create table test( a int); Query OK, rows affect ...
- Labview 中的类
一.创建一个空的类 在 LabVIEW 工程窗口里,鼠标右键菜单的新建栏中有一项,是创建类.类的结构和 LabVIEW 工程库是比较相近的:类的名字也作为名字空间:也可以为类中的 VI 设置访问权限等 ...
- ArcPy 函数列表(按字母顺序)
Function name Category AddError Messages and error handling AddFieldDelimiters Fields AddIDMessage M ...
- 安卓蓝牙技术Bluetooth使用流程(Bluetooth详解)
一:蓝牙设备之间的通讯首要包含了四个进程 设置蓝牙设备 寻觅局域网内也许或许匹配的设备 衔接设备 设备之间的数据传输 二:详细编程完结 1. 发动蓝牙功用 首要经过调用静态办法getDefaultAd ...
- android和javascript之间相互通信实例分析
1. AndroidManifest.xml中必须使用许可 "android.permission.INTERNET", 否则会出Web page not available错误 ...
- Android开发5大布局方式详解
Android中常用的5大布局方式有以下几种: 线性布局(LinearLayout):按照垂直或者水平方向布局的组件. 帧布局(FrameLayout):组件从屏幕左上方布局组件. 表格布局(Tabl ...