接下来我们说程序集: 看了上面的介绍,我们可以想下,如何应用逻辑封装到程序集中去了。

概念: 程序集的概念说简单了就是按逻辑组合起来再放入物理文件中的功能.

好处: 简化代码的部署,另外一个就是解决版本的冲突.

其实还有一点,我不好说是好是坏(因为我不支持开源,也不反对开源,不过说起这个,我倒是希望大家多把自己练习的完整代码发布到thc123.com的代码区,这里我已经找了很多不错的学习代码,但是我个人时间有限,这里主要为学习而开,大家一起付出吧,毕竟你练习的那些东西也许其他朋友也需要,所以无论你代码写得如何,都传到  thc123.com  上面,大家相互学习,共同进步吧。)
这点就是把我们的代码封状起来后一般人就看不出你的逻辑了,起到保护知识产权的作用,当然,最好是再混淆下,这样就很难轻易的知道你怎么搞的了。

他主要包含两个部分.
1. 程序集清单 :  包含程序集的元数据, 简单说就是包含了程序集的内容和作用和版本号等等,在生成程序集的时候生成的.

2.MSIL代码 : (Microsoft Intermediate Language) ,这个是.net用于通信的语言,可以是vb.net,或者c#等, 在编译期间呢,统一都搞成了MSIL了.(在这里要提醒下,如果是你一个项目中完全未编译的文件里面同时有vb和c#的话呢,嘿嘿,不好意思,那你娃娃就要亏大了。所以。。。。。)

所以还是看个实例吧.

看了实例,我们再看刚才输入的那些乱七八糟的玩意是为什么(下面是我从msdn上复制的)

命令行语法规则

在解释哦作系统命令行上给出的参数时,C# 编译器使用下列规则:

  • 参数用空白分隔,空白可以是一个空格或制表符。

  • ^ 字符 (^) 未被识别为转义符或者分隔符。该字符在被传递给程序中的 argv 数组前,完全由哦作系统的命令行分析器进行处理。

  • 无论其中有无空白,包含在双引号 ("string") 中的字符串均被解释为单个参数。带引号的字符串可以嵌入在参数内。

  • 前面有反斜杠的双引号 (\") 被解释为原义双引号字符 (")。

  • 反斜杠按其原义解释,除非它们紧位于双引号之前。

  • 如果偶数个反斜杠后跟双引号,则每对反斜杠中的一个反斜杠放置在 argv 数组中,并且双引号被解释为字符串分隔符。

  • 如果奇数个反斜杠后跟双引号,则每对反斜杠中的一个反斜杠放置在 argv 数组中,双引号由其余的反斜杠“转义”,使原义双引号 (") 被放置在 argv 数组中。

命令行示例

  • 编译 File.cs 以产生 File.exe:

     
    csc File.cs 
  • 编译 File.cs 以产生 File.dll:

     
    csc /target:library File.cs
  • 编译 File.cs 并创建 My.exe:

     
    csc /out:My.exe File.cs
  • 通过使用优化和定义 DEBUG 符号,编译当前目录中所有的 C# 文件。输出为 File2.exe:

     
    csc /define:DEBUG /optimize /out:File2.exe *.cs
  • 编译当前目录中所有的 C# 文件,以产生 File2.dll 的调试版本。不显示任何徽标和警告:

     
    csc /target:library /out:File2.dll /warn:0 /nologo /debug *.cs
  • 将当前目录中所有的 C# 文件编译为 Something.xyz(一个 DLL):

     
    csc /target:library /out:Something.xyz *.cs

C# 编译器和 C++ 编译器输出之间的差异

作为调用 C# 编译器的结果,没有创建任何对象 (.obj) 文件;直接创建输出文件。因此,C# 编译器不需要链接器

编译进行的准备工作:其实这一步就让很多人头大得要死,为什么这样说呢,因为我一直都以为我很聪明,我记的学那会整了一周都没结果,呵呵,不过在那段时间我也学了几种方法.

1. 在我的电脑上点右键-->属性-->高级-->环境变量-->在下面哪个框里面双击path,在后面加上 
;%SystemRoot%\Microsoft.NET\Framework\v2.0.50727        (仅针对.net2.0的哦,如果是1.1的话这里要改变下,按照如下所说)
这时候有看官要问,上面这句是那里来的,其实很简单,你在你的系统盘里面搜索  csc.exe  就知道了.
接下来我们在运行里面键入 cmd ,然后键入 csc /target:library /out:要输出的文件 被编译的地址 ,然后回车.ok

2.我们整一个批处理文件.也就是专业'俗'语称的 命令行生成.

下面这句是将一个目录中所有的.cs文件生成一个dll文件的
csc /target:library /out:E:\net\moshigaishu\Bin\test.dll E:\net\moshigaishu\test\*.cs

3.最简单的办法,呵呵直接在Visual Studio 2005 命令提示里面运行即可.
如果3这个出错的话就按照msdn提供的方法,
1.运行cmd
2.把当前目录该成你系统上Common7\Tools 子目录的位置
 3.键入 VSVARS32 以运行 VSVARS32.bat。

警告

VSVARS32.bat 可能因计算机的不同而变化。不要用其他计算机上的 VSVARS32.bat 替换丢失或损坏的 VSVARS32.bat 文件。重新运行安装程序以替换丢失的文件。


4.本来不想说发布网站的事,反正都说到这里了,顺便说下也是可以的.
我们演示一下下了。

注意下,发布的时候你的IIS有极大的可能找你麻烦,那么怎么做呢?
我在被痛苦折磨以后找出了N套解决方案

1.重新注册你的asp.net

小 1:  C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -u                   复制前面的得了,卸载asp.net
  小 2: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i                      复制前面的,注册

2.重新装IIS
这个不要我说了,你自己搞吧。这个搞完以后有可能还是不行,那你就重复上面的步骤注册asp.net吧。

视频下载

[新闻]成龙谈创办汽车网站:做最真的汽车服务
博客园首页 社区 新闻频道 小组 博问 网摘 闪存
文章来源:http://www.cnblogs.com/thcjp/archive/2007/06/13/781182.html

转载于:https://www.cnblogs.com/bbs12bbs/archive/2008/12/08/1349929.html

[导入]vs2005视频教程 之 编译程序集和发布网站 [视频]相关推荐

  1. 【转载】 vs2005视频教程 之 抽象类和接口 四 [视频]

    原帖地址:http://www.cnblogs.com/thcjp/archive/2007/04/20/721587.html 首先要感谢 anytao.cnblogs.com ,因为下面总结这部分 ...

  2. 用aspnet_compiler发布网站 (转载:My way of my life )

    在asp.net 2.0模型中,vs2005已经完全脱离了编译而成为了一个彻底的ide.算是一个不小的改动.其中更是取消了有关Web Application的概念,使得习惯了vs2003的人刚开始的时 ...

  3. 使用WebDeployment Project改善VS2005发布网站问题

    VS2005发布网站时不会像VS2003一样生成规则的DLL文件.而生成的DLL文件名含有随机数且不能一个项目生成一个DLL文件.让人有一些遗憾.为了做到像vs2003一样,微软发布了WebDeplo ...

  4. 使用WebDeployment Project改善VS2005发布网站问题 [系列导读]

    使用WebDeployment Project插件,可以使VS2005发布的website类型的项目采用固定程序集(dll文件名指定.而非随机命名),这样可以方便项目的更新. 使用WebDeploym ...

  5. ProE模型导入Adams视频教程大集合【转载龙之殿网站】

    引用 Baker 的 ProE模型导入Adams视频教程大集合[转载龙之殿网站] ProE模型导入Adams视频教程大集合 步骤如下: 1.在PROE中建好模型 2.   设置PROE单位参数为MMk ...

  6. VS2005发布网站问题及aspnet_merge.exe”已退出,代码为 1的错误

    解决方法一:如果遇到WebDeployment Project发布,生成的dll还是跟之前的一样多,而且出现"aspnet_merge.exe"已退出,代码为 1的错误,是因为你的 ...

  7. VS2008 VS2010发布网站时如何产生固定命名的 Dll 文件

    VS2008 发布网站时如何产生固定命名的 Dll 文件 dev.firnow.com    时间 : 2010-12-08  作者:网络   编辑:fnw 点击:  82 [ 评论 ] - - VS ...

  8. Asp.net发布网站

    1.允许更新此预编辑站点 选中这一项后,编译出来的包括aspx文件和dll,与2003下一样. 不选中这一项,编译出来的aspx中没有界面信息,只有一句静态文本,就是不允许发布后修改页面 为了不让订阅 ...

  9. IIS——服务开启及本地发布网站图解(一)

    IIS发布在做牛腩新闻发布系统的时候已遇到过,那时很顺利地就发布成功了,觉得很简单没有总结,这次再发布的时候,遇到了问题,有必要总结一下. IIS(Internet Information Servi ...

最新文章

  1. 可以分屏的软件_分享一款非常好用,且小巧的分屏软件
  2. 零基础自学python的app-编程零基础应当如何开始学习 Python?
  3. 分享云及人工智能的一些学习资源和学习心得
  4. 【vsftpd】嵌入式linux简易配置vsftpd服务
  5. ElasticSearch 从安装开始_01
  6. Bootstrap模态框居中显示
  7. paros web中间件攻击、扫描、监控
  8. MyBatis 如何传递参数(全)
  9. MySQL DBA面试高频三十问
  10. _如何在各种Linux发行版中安装zip压缩与解压缩程序
  11. homebrew php70,OSX下安装PHP7教程详解
  12. thinkphp 关联模型配置代码
  13. “21天好习惯“第一期-5
  14. 《东周列国志》第十回 楚熊通僭号称王 郑祭足被胁立庶
  15. 万用表测试软件,仅用万用表作为检测工具的集成电路
  16. 深度学习21_李宏毅_04_Local Minimum And Saddle Point
  17. creator pvr etc
  18. 主机如何做好防勒索病毒措施
  19. win10打开计算机闪屏,Win10打开资源管理器闪屏怎么办?Win10资源管理器闪屏问题的解决方法...
  20. 排序知识点总结及代码实现(C++)

热门文章

  1. idea java mapper.xml文件sql黄色背景解决
  2. 塑料壳上下扣合的卡扣设计_塑胶产品结构设计--卡扣.pdf
  3. 酒的基金降幅较大,这是为什么?
  4. 远嫁的女人有没有偷偷哭过?有何经历?
  5. 《西游记》中九尾狐狸为什么有太上老君的幌金绳?
  6. 22年前,100万买入谷歌原始股,奥尼尔的股份如今市值多少?
  7. 怎样做到“不说服客户,只拒绝客户”?
  8. 30岁过后,是继续上班,还是去做个小生意?
  9. 春节后赚钱风口在哪?
  10. 打工的人面对老板是没有溢价权的