| 健滢's profile临兵斗者皆列阵在前PhotosBlogLists | Help |
|
临兵斗者皆列阵在前November 26 接触Mono开放源代码协会通过Linux软件开发公司Ximian开始了一个旨在将微软.Net平台移植到Linux上来的项目。这个叫做Mono工程的项目包括创建一个开发平台允许人们为基于Linux和基于Windows系统的.Net开发应用程序。 据Ximian公司的首席技术官员Miguel de Icaza说Mono项目的起因是GNOME社团特别是Ximain公司对于一个改进的开发工具的需要。 但是Mono项目的影响却是更加深远的,因为这些开发工具是基于CLI(通用语言架构)和微软提交给欧洲计算机制造协会(ECMA)的C#实现标准的。如果Mono能够创建完成一套基于这些标准Linux开发工具集的话,开发者将能够编写同时在Windows和Linux上运行的.Net程序,这些程序甚至还可能在其它非Windows的操作系统上运行,比方Unix。 除了实际的开发过程,Mono项目的工具必须在开放源代码社团的内部完成而不能违反微软的知识产权专利--这实际上意味着开发者们必须基于标准重新构造这些工具而不能查看微软的任何源代码。 Mono项目包括三个核心的部分:一个C#语言的编译器,一个CLI和一个类库。 CLI是包含了类加载器的虚拟机,实时的编译器,和一个运行时环境的垃圾收集器。CLI这个组件将允许用C#编写的应用程序能够在象Linux这样的非Windows操作系统上运行。这与Java世界中Java虚拟机能够让一个应用程序在不同的操作系统上运行是类似的。 Mono项目的类库能够让应用程序完成核心的诸如XML处理,文件输入输出,和连接网络之类的任务。它将会和微软的CLI兼容(与微软在.Net 框架中发布的东西紧密的配套),还有一点就是将由开放源代码团体编写的额外的类库也将和CLI兼容 Mono命令
mcs的语法 mcs [参数] 源文件 参数可以使用-option或者/option的方式。 参数: --about 显示c#编译器的信息 -checked[+][-]指定溢出数据类型边界的整数算法是否将在运行时导致异常。 -codepage:ID指定编译中的所有源代码文件所使用的代码页 -clscheck[+][-] 禁止编译器依附关系检查 -define:S1[;S2] 定义一个或多个符号,可以简写为/d -debug[+][-] 产生调试信息 -delaysign[+][-] 仅仅将公钥插入到配件中,并不进行签名 -doc:File 产生XML文档,利用ndoc工具可以产生类似MSDN的文档 -g 产生调试信息 -keycontainer:NAME 指定用来强命名(strongname)配件的密钥对 -keyfile:FILE 指定用来强命名的密钥文件 -lib:PATH1,PATH2 增加配件链接的路径 -main:class 指定入口点(entry point),也就是缺省可执行的那个类 -noconfig[+][-] 不使用默认的参考编译,和微软的csc的/noconfig对应 -nostdlib[+][-] 不导入标准库 -nowarn:W1[,W2] 显示一个或者多个警告信息 -out:FNAME 指定输出文件名 -pkg:P1[;P2] 引用包P1…P2 --expect-error X 期望抛出X异常 -resurce:SPEC搜索指定目录中要编译的源文件 -reference:ASS 编译时引用ASS配件 -target:KIND 编译输出类型,可以是exe、winexe、liberary和module -unsafe[+][-] 编译使用 unsafe 关键字的代码 -warnaserror[+][-] 将警告作为错误对待 -warn:LEVEL 警告等级,最高是4,缺省是2 -help2 获得更多帮助信息 -linkresource:FILE[,ID] 链接一个资源文件 -resource:FILE[,ID] 嵌入一个资源文件 -win32res:FILE 链接一个win32资源文件 -win32icon:FILE 指定图标 @FILE指定响应文件,文件列出了编译器选项或要编译的源代码文件的文件
mono的语法 mono [参数] 配件 参数如下: --compile METHOD 只编译配件中指定的方法 --ncompile N 编译此方法的次数,缺省是1 --regression 运行纠正测试 --print vtable 输出所有用到的类的vtable --trace[=EXPR] 允许跟踪 --compile-all 编译配件中所有的方法 --breakonex 在异常上插入一个断点 --break METHOD 在方法的入口上插入一个断点 --debug 允许调试 --stats 输出JIT操作的统计信息 --statfile FILE 设置统计文件 --aot 将配件编译成本地程序 --profile[=profiler] 指定profiler --graph[=TYPE] METHOD 画一图形(cfg、dtree、code、ssa、optcode) --config FILE 指定Mono的配置文件 --verbose显示更详细消息 --help 帮助信息 --version 显示版本信息 --optimize=OPT 性能优化
gacutil的用法 gacutil [命令] [参数] 命令如下: -i [-check_refs] [-package NAME] [-root ROOTDIR] [-gacdir GACDIR] 安装配件到全局程序缓存中 配件所在路径,配件钥包含配件清单(manifast) 例如: -i myDll.dll -il [-check_refs] [-package NAME] [-root ROOTDIR] [-gacdir GACDIR] 安装多个配件到全局程序缓存中 一个文件,包含要增加的配件列表 例如:-il assembly_list.txt assembly_list.txt 的内容: assembly1.dll assembly2.dll -u [-package NAME] [-root ROOTDIR] [-gacdir GACDIR] 从全局程序缓存中卸载指定配件 配件名称或者配件的部分名称,如果是部分名称,所有符合这个名称的配件都会被卸载 例如 -u myDll,Version=1.2.1.0
-ul [-package NAME] [-root ROOTDIR] [-gacdir GACDIR] 从全局程序缓存中卸载配件 包含配件列表的文件名 例如: -ul assembly_list.txt assembly_list.txt的内容 assembly1,Version=1.0.0.0,Culture=en,PublicKeyToken=0123456789abcdef assembly2,Version=2.0.0.0,Culture=en,PublicKeyToken=0123456789abcdef
-us [-package NAME] [-root ROOTDIR] [-gacdir GACDIR] 从全局程序缓存中卸载配件 配件所在路径 Example: -us myDll.dll
-l [assembly_name] [-root ROOTDIR] [-gacdir GACDIR] 列出全局程序缓存中所有的配件 如果指定 参数,将只显示符合参数的配件
-? 显示帮助信息
参数如下: -package 用来在 prefix/lib/mono 目录下增加一个名为NAME的目录,然后增加一个从 NAME/assembly_name 到全局程序缓存中的配件的一个链接
-gacdir 指定全局程序缓存的目录,如果不是标准的全局程序缓存目录,将使用MONO_GAC_PATH环境变量来引用配件。
-root 用来集成automake工具
-check_refs 检查将要导入的配件不被任何未强命名的配件引用
-f Mono gacut不考虑兼容性,gacutil总强行安装新配件
-r Mono gacutil 并没有实现跟踪引用,当这个参数使用时,或发出一个警告信息
其它工具基本可以使用 –help参数来了解其使用方法。
在使用Mono之前,可以先在配置一下windows系统环境:如图
然后在提示符下输入:
就会发现C:\下生成了FormX.exe,此时你如果双击它,而你又刚好装了NetFrameWork的话,就会出现
可惜这不是Mono执行的效果,如果要Mono执行应该在
提示符下输入: 提示符下输入: 提示符下输入:
之后这变是Mono执行出来的效果:呵呵 还不错哦!
各种播放器代码1.avi格式 代码片断如下: <object id="video" width="400" height="200" border="0" classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA"> <param name="ShowDisplay" value="0"> <param name="ShowControls" value="1"> <param name="AutoStart" value="1"> <param name="AutoRewind" value="0"> <param name="PlayCount" value="0"> <param name="Appearance value="0 value="""> <param name="BorderStyle value="0 value="""> <param name="MovieWindowHeight" value="240"> <param name="MovieWindowWidth" value="320"> <param name="FileName" value="file:///D|/work/vod/Mbar.avi"> <embed width="400" height="200" border="0" showdisplay="0" showcontrols="1" autostart="1" autorewind="0" playcount="0" moviewindowheight="240" moviewindowwidth="320" filename="file:///D|/work/vod/Mbar.avi" src="Mbar.avi"> </embed> </object>
<param name="_ExtentX" value="9313">
<param name="ShowControls" value="1"> <param name="ShowPositionControls" value="0"> <param name="ShowAudioControls" value="1"> <param name="ShowTracker" value="0"> <param name="ShowDisplay" value="0"> <param name="ShowStatusBar" value="0"> <param name="ShowGotoBar" value="0"> <param name="ShowCaptioning" value="0"> <param name="AutoStart" value=1> <param name="Volume" value="-2500"> <param name="TransparentAtStart" value="0"> <param name="AllowChangeDisplaySize" value="0"> <param name="AllowScan" value="0"> <param name="EnableContextMenu" value="0">
wma\ <object classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95" id="MediaPlayer1" > asp.net css注释的影响在aspx页面中使用样式文件*.css,如果css文件中有注释 在vb中,应如下: '常规连接 在C#中,应如下: /*常规连接*/ 否则,样式将应用不起来! |
|
||||
|
|