1.å¦ä½å¨ cmdä¸å .net 代ç
2.这属于什么类型的网c网文件?
3.C#C#8.0来了,但是页源页端源码Visual Studio 2017不认识!
4.hello.exe显示程序
5.csc俱乐部
6.一文搞清到底什么是网c网 NET
å¦ä½å¨ cmdä¸å .net 代ç
没åæ³ï¼ä½ å¯ä»¥ç¨cmdè°ç¨cscæ§è¡ç¼è¯.netæºä»£ç
æä¸ç§ä¸è¥¿æ¯å¯ä»¥æ§è¡C#æ ¡æ¬çç¨åºï¼å«ä»ä¹csscriptå§ï¼å¿äº
这属于什么类型的文件?
-- 常用文件扩展名解释
A 对象代码库文件
AAM Authorware shocked文件
AAS Authorware shocked包
ABF Adobe二进制屏幕字体
ABK CorelDRAW自动备份文件
ABS 该类文件有时用于指示一个摘要(就像在一篇有关科学方面的文章的一个摘要或概要,取自abstract)
ACE Ace压缩档案格式
ACL CorelDRAW 6键盘快捷键文件
ACM Windows系统目录文件
ACP Microsoft office助手预览文件
ACR 美国放射医学大学文件格式
ACT Microsoft office助手文件
ACV OS/2的页源页端源码驱动程序,用于压缩或解压缩音频数据
AD After Dark屏幕保护程序
ADA Ada源文件(非-GNAT)
ADB Ada源文件主体(GNAT);HPLX组织者的网c网约定数据库
ADD OS/2用于引导过程的适配器驱动程序
ADF Amiga磁盘文件
ADI AutoCAD设备无关二进制绘图仪格式
ADM After Dark多模块屏幕保护;Windows NT策略模板
ADP FaxWork用于传真调制解调器的交互安装文件;Astound Dynamite文件
ADR After Dark随机屏幕保护;Smart Address的地址簿
ADS Ada源文件说明书(GNAT)
AFM Adobe的字体尺度
AF2,AF3 ABC的页源页端源码正源码FlowChat文件
AI Adobe Illustrator格式图形
AIF,AIFF 音频互交换文件,网c网Silicon Graphic and Macintosh应用程序的页源页端源码声音格式
AIFC 压缩AIF
AIM AOL即时信息传送
AIS ACDSee图形序列文件;Velvet Studio设备文件
AKW RoboHELP的帮助工程中所有A-关键词
ALAW 欧洲电话音频格式
ALB JASC Image Commander相册
ALL 艺术与书信库
AMS Velvet Studio音乐模块(MOD)文件;Extreme的Tracker模块文件
ANC Canon Computer的调色板文件,包含一系列可选的网c网颜色板
ANI Windows系统中的动画光标
ANS ANSI文本文件
ANT SimAnt For Windows中保存的游戏文件
API Adobe Acrobat使用的应用程序设计接口文件
APR Lotus Approach 文件
APS Microsoft Visual C++文件
ARC LH ARC的压缩档案文件
ARI Aristotle声音文件
ARJ Robert Jung ARJ压缩包文件
ART Xara Studio绘画文件;Canon Crayola美术文件;Clip Art文件格式;另一种光线跟踪格式;AOL使用的用Johnson―Grace压缩算法压缩的标记文件
ASA Microsoft Visual InterDev文件
ASC ASCⅡ文本文件;PGP算法加密文件
ASD Microsoft Word的自动保存文件;Microsoft高级流媒体格式(microsoft advanced streaming FORMat,ASF)的页源页端源码描述文件;可用NSREX打开 Velvet Studio例子文件
ASE Velvet Studio采样文件
ASF Microsoft高级流媒体格式文件
ASM 汇编语言源文件,Pro/E装配文件
ASO Astound Dynamite对象文件
ASP 动态网页文件;ProComm Plus安装与连接脚本文件;Astound介绍文件
AST Astound多媒体文件;ClarisWorks“助手”文件
ASV DataCAD自动保存文件
ASX Cheyenne备份脚本文件;Microsoft高级流媒体重定向器文件,网c网视频文件
ATT AT< Group 4位图文件
ATW 来自个人软件的页源页端源码Any Time Deluxe For Windows个人信息管理员文件
AU Sun/NeXT/DEC/UNIX声音文件;音频U-Law(读作“mu-law”)文件格式
AVB Computer Associates Inoculan反病毒软件的病毒感染后文件
AVI Microsoft Audio Video Interleave**格式
AVR Audio Visual Research文件格式
AVS 应用程序可视化格式
AWD FaxVien文档
AWR Telsis数字储存音频文件扩展名格式
Axx ARJ压缩文件的分包序号文件,用于将一个大文件压至几个小的网c网压缩包中(xx取-的数字)
A3L Authorware 3.x库文件
A4L Authorware 4.x库文件
A5L Authorware 5.x库文件
A3M,A4M Authorware Macintosh未打包文件
A4P Authorware无运行时间的页源页端源码打包文件
A3W,A4W,网c网A5W 未打包的Authorware Windows文件
BAK 备份文件
BAS BASIC源文件
BAT 批处理文件
BDF West Point Bridger Designer文件
BFC Windows Briefcase文档
BG Backgammon For Windows下的游戏文件
BGL Microsoft Flight Simulator(微软飞行模拟器)的视景文件
BI 二进制文件
BIF Group Wise的初始化文件
BIFF XLIFE 3D格式文件
BIN 二进制文件
BK,BK$ 有时用于代表备份版本
BKS IBM BookManager Read书架文件
BMK 书签文件
BMP Windows或OS/2位图文件
BMI Apogee BioMenace数据文件
BOOK Adobe FrameMaker Book文件
BOX Lotus Notes的邮箱文件
BPL Borlard Delph 4打包库
BQY BrioQuery文件
BRX 用于查看多媒体对象目录的文件
BSC MS Developer Studio浏览器信息文件
BSP Quake图形文件
BS1 Apogee Blake Stone数据文件
BS_ Microsoft Bookshelf Find菜单外壳扩展名
BTM Norton 应用程序使用的批处理文件
BUD Quicken的备份磁盘
BUN CakeWalk 声音捆绑文件(一种MIDI程序)
BW SGI黑白图像文件
BWV 商业波形文件
BYU BYU的**文件格式
B4 Helix Nuts and Bolts文件
C C代码文件
C0l 台风波形文件
CAB Microsoft压缩档案文件
CAD Softdek的Drafix CAD文件
CAL CALS压缩位图;日历计划表数据
CAM Casio照相机格式
CAP 压缩音乐文件格式
CAS 逗号分开的ASCⅡ文件
CAT Quicken使用 的IntellCharge分类文件
CB Microsoft干净引导文件
CBI 二进制卷格式文件(用于IBM大型机系统)
CC Visual dBASE用户自定义类文件
CCA cc:邮件文件
CCB Visual Basic动态按钮配置文件
CCF 多媒体查看器配置文件,用于OS/2
CCH Corel图表文件
CCM Lotus cc:邮箱(例如“INBOX.CCM”)
CCO CyberChat数据文件
CCT Macromedia Director Shockwave投影
CDA CD音频轨道
CDF Microsoft频道定义格式文件
CDI Philip的高密盘交互格式
CDM Visual dBASE自定义数据模块文件
CDR CorelDRAW绘图文件;原始音频CD数据文件
CDT CorelDRAW模板
CDX CorelDRAW压缩绘图文件;Microsoft Visual FoxPro索引文件
CEL CIMFast事件语言文件
CER 证书文件(MIME x-x-ca-cert)
CFB Compton的多媒文件
CFG 配置文件
CFM CotdFusion模板文件;Visual dBASE Windows用户定制表单
CGI 公共网关接口脚本文件
CGM 计算机图形元文件
CH OS/2配置文件
CHK 由Windows磁盘碎片整理器或磁盘扫描保存的文件碎片
CHM 编译过的HTML文件
CHR 字符集(字体文件)
CHP Ventura Publisher章节文件
CHT ChartViem文件;Harvard Graphics矢量文件
CIF Adaptec CD 创建器 CD映像文件
CIL Clip Gallery下载包
CIM SimCity 文件
CIN OS/2改变控制文件用于跟踪INI文件中的变化
CK1 iD/Apogee Commander Keen 1数据文件
CK2 iD/Apogee Commander Keen 2数据文件
CK3 iD/Apogee Commander Keen 3数据文件
CK4 iD /Apogee Commander Keen 4数据文件
CK5 iD /Apogee Commander Keen 5数据文件
CK6 iD /Apogee Commander Keen 6数据文件
CLASS Java类文件
CLL Crick Software Clicker文件
CLP Windows 剪贴板文件
CLS Visual Basic类文件
CMD Windows NT,OS/2的命令文件;DOS CD/M命令文件;dBASEⅡ程序文件
CMF Corel元文件
CMG Chessmaster保存的游戏文件
CMP JPEG位图文件;地址文档
CMV Corel Move动画文件
CMX Corel Presentation Exchange图像
CNF Telnet,Windows和其他其内格式会发生改变的应用程序使用的配置文件
CNM Windows应用程序菜单选项和安装文件
CNQ Compuworks Design Shop文件
CNT Windows(或其他)系统用于帮助索引或其他目的内容文件
COB TrueSpace 2对象文件
COD Microsoft C编译器产生的可显示机器码/汇编代码文件,其中附有源C代码作为注释
COM 命令文件(程序)
CPD Corel Print Office文件(图形)
CPD,CPE 传真覆盖文档
CPI Microsoft MS-DOS代码页信息文件
CPL 控制面板扩展名,Corel颜色板
CPO Corel打印存储文件
CPP C++代码文件
CPR Corel提供说明书文件
CPT Corel 照片-绘画图像
CPX Corel Presentation Exchange压缩图形文件
CRD Windows Cardfile文件
CRP Corel 提供的运行时介绍文件;Visual dBASE自定义报表文件
CRT 认证文件
CSC Corel脚本文件
CSP PC Emcee On_Screen图像
CSS 瀑布式表格文件
CST Macromedia Director Cast文件
CSV 逗号分隔的值文件
CT Scitex CT位图文件;Paint Shop Pro Grapic编辑器文件
CTL 通常用于表示一个包含控件信息的文件;FaxWork用它来保持有关每个传真收到或发出的信息
CUE Microsoft提示牌数据文件
CUR Windows光标文件
CUT Dr Halo位图文件
CV Corel版本的档案文件;Microsoft CodeView信息屏幕文件
CWK ClarisWorks数据文件.
CWS ClarisWorks模块
CXT Macromedia Director受保护的(不可编辑的)投影文件
CXX C++源代码文件
--------------------------------------------------------------------------------
-- 作者:ray
-- 发布时间:-- ::
--
DAT 数据文件;WrodPerfect合并数据文件;用于一些MPEG格式的文件
DB Borland的Paradox 7表
DBC Microsoft Visual FoxPro数据库容器文件
DBF dBASE文件,一种由Ashton-Tate创建的格式,可以被ACT!、Lipper、FoxPro、Arago、Wordtech、wap mud源码Xbase和类似数据库或与数据库有关产品识别;可用数据文件(能被Excel 打开);Oracle 8.1.x表格空间文件
DBX DataBearn图像;Microsoft Visual FoxPro表格文件
DCM DCM模块格式文件
DCR 冲击波文件
DCS 桌面颜色分隔文件
DCT Microsoft Visual FoxPro数据库容器
DCU Delphi编译单元文件
DCX Microsoft Visual FoxPro数据库容器;基于PCX的传真图像;宏
DC5 DataCAD绘图文件
DDF Btrieve或Xtrieve数据定义文件,它包含用于描述Btrieve或Xtrieve文件的元数据
DDIF Digital Equipment或 Compaq格式,用于保存他们图像与字处理文档
DEF SmartWareⅡ数据文件;C++模块定义文件
DEFI Oracle 7 卸载脚本文件
DEM 用于表示数字高度模型的USGS基准的文件
DER 认证文件
DEWF Macintosh Sound Cap/Sound Edit录音设备格式
DGN Macintosh CAD绘图文件
DIB 设备无关位图
DIC 目录
DIF 可进行数据互换的电子表格
DIG DigiLink格式;Sound DesignerⅠ音频文件
DIR MacromediaDirector文件
C#C#8.0来了,但是Visual Studio 不认识!
引言:
在编程世界里,无论是C#语言还是Java语言,都需要通过编译器将源代码转换为可执行文件。Java语言的编译器是通过命令javac来运行的。那么,C#语言在编译时又是如何操作的呢?通常情况下,C#语言的编译是通过Visual Studio IDE来完成的,它内置了csc.exe编译器,这个编译器通常会跟随Visual Studio一起工作,所以大多数开发者并不需要直接接触csc.exe。
在.NET Framework时代,csc.exe编译器位于SDK的指定路径下,如C:\Windows\Microsoft.NET\Framework\v版本号。有兴趣的开发者可以尝试修改PATH环境变量,以直接访问csc.exe。
问题:
最近,一位同事遇到了一个在Visual Studio 上编译GitHub开源项目的难题。他尝试打开Visual Studio ,但编译时出现了错误,提示“选项“8.0”对 /langversion 无效”。更让人头疼的是,修改为7.0后仍然报错。通过查看相关代码,他才意识到,原来项目作者使用了C#8.0的MySQL源码集群语法,而Visual Studio 中的C#编译器以C#7.0为目标,即不支持C#8.0。
默认值:编译器根据以下规则确定默认值:手动设置语言版本。
同事需要在Visual Studio 中手动设置C#语言版本为8.0,以适应项目需求。
解决问题:考虑到手上只有Visual Studio ,同事没有选择下载更新到Visual Studio ,以免引发网络管理员的不满和同事间的纷争。幸运的是,现在有了.NET Core,这是一个支持C#8.0语法的轻量级框架。同事下载了.NET Core 3.0+的SDK(大约M),这是一个可接受的大小。接着,他使用Visual Studio Code打开项目,成功编译了使用C#8.0语法的代码。
本文作者:Garfield
同步更新至个人博客:Garfield-加菲的博客
本文版权属于作者,未经许可禁止转载,否则保留追究法律责任的权利。如有需要,请联系@qq.com。
hello.exe显示程序
首先,我们需要通过命令行界面进行操作。在终端中,确保你当前的工作目录是正确的。接下来,执行一个关键步骤:在命令行中输入"Csc hello.cs"。这个命令的作用是编译一个名为hello.cs的源代码文件。
如果你按照上述步骤操作,前端管理源码你应该会发现你的工作目录里多出了一个名为hello.exe的可执行文件。这是编译过程的产物,表明你的源代码已经被成功转换为了可运行的程序。
最后,验证你的工作。只需在命令行中键入"hello",然后按下回车。这时,控制台窗口会显示出你期待的输出结果:"Hello, World!"。这就是hello.exe程序运行的直观体现,它在控制台中向你展示了预设的问候语。
csc俱乐部
《加拿大唯一官方的Ubuntu镜像:University of Waterloo Computer Science Club的贡献》
University of Waterloo Computer Science Club(CSC),位于加拿大安大略省滑铁卢市的滑铁卢大学,是一个学术性质的俱乐部。CSC旨在促进计算机科学知识的传播与兴趣的培养,同时为对计算机科学感兴趣的人提供了一个交流平台。
CSC在加拿大乃至整个加拿大社区扮演着重要角色。它不仅是中国唯一官方的Ubuntu镜像提供商,也是FOSS(自由开放源代码软件)的镜像收集中心。通过提供更快的速度访问,CSC为滑铁卢社区乃至整个加拿大的用户提供了便捷的软件获取途径。
作为加拿大的学术重镇,滑铁卢大学的CSC俱乐部不仅关注于学术研究,更致力于推广计算机科学的普及与应用。它通过与开源软件社区的紧密合作,不仅加速了本地用户对新技术的获取,更促进了全球开源软件的传播与交流。
CSC的贡献不仅仅体现在技术层面,它还为学生、apk桌面源码教师以及对计算机科学感兴趣的公众提供了多样化的活动与资源。通过定期举办研讨会、编程比赛、技术讲座等,CSC不仅激发了成员对计算机科学的热爱,更培养了一大批具有创新精神的计算机专业人士。
CSC的成功在于其开放、包容、创新的氛围。它鼓励成员之间的知识共享与技能交流,促进了多元化人才的培养与发展。通过不懈的努力,CSC不仅成为了加拿大计算机科学领域的重要力量,更在全球开源社区中树立了典范。
综上所述,University of Waterloo Computer Science Club通过其在Ubuntu镜像服务、FOSS软件共享以及社区建设方面的贡献,为计算机科学教育与研究的发展做出了巨大贡献。它不仅提升了滑铁卢社区的技术水平,更促进了加拿大乃至全球的科技发展与创新。
一文搞清到底什么是 NET
其实几句话就能搞清楚.net。
我们知道我们使用C#/VB写的代码是源码,如果这个源码你写在记事本中也是一样的。
然后使用csc.exe/vbc.exe把你的源码编译。生成的文件就是IL文件(可能为dll或exe后缀的)。
事实上,我们如果在记事本写是一样的,这个记事本叫编辑器,你需要一句句地把代码写出来。如果我们记事本象notepad+一样能带一个高亮语法的标识多好?当然了,如果能有自动补全更好(一个关键词或声明的变量之类的,打出几个字母就提示出来,我们可以提高输入速度的,录入速度与打字速度这里有区别了,很多程序员以为自己输入速度很高,进而以为自己的打字速度很高,其实不是我经常说程序打字速度并不快不需要机械键盘就是因为这个,并不是说输入速度低),这些功能都加上,就是VS(vs其实是一个IDE,开发集成工具,而编辑器就是其中一个,智能感智——自动补全功能加强版,高亮显示等都是编辑器的插件被集成进来),而模板(自动给你增加using代码与部分文件名称等等)则是把常用的一些句子先给你输入好,等等集合起来,就把编辑这部分完成了。
当然了,你安装完之后会看到类似于csc.exe与vbc.exe这类的编译器的,它可以把你的源码(文本)编译成IL语言。不幸的是csc/vbc的参数太多了,输出输入选项等等,谁也记不住啊,所以根据文本组织,自动生成一个csc参数使用的命令多好?嗯,想法不错的,这就是VS中另一个功能,他所谓有的编译F6等等都是按你的项目组织自动生成一条编译指令来调用编译器(csc编译c#的,vbc编译vb的),VS不但可以自已选择合适的编译器(根据后缀名),而且对于项目中某个参数,自动调用csc.
好了,怎么把源码变成IL呢?这里要用到一个东西,我们叫.net framework,不要把framework理解成模板,不要以为你选择.net framework版本之后可以选择不同的模板,其实它才是把源码变成IL的标准——模板不同是因为针对于不同的语法糖进行不同的翻译。比如一个例子using语句块其实就是try-finally块,不同的framework中使用不同的类库与语法糖。换句话来说,开发中所增加的都是使用基本类库与语法糖的增加。
比如.net framework 4.5中存在一个运算符,(?.)运算,它就会在.net framework 4.5时会映射到正确的IL语言。而在.net framework 4.0中却不会认识该运算符。当然了 vari?.Attribute1与.net framework 4.0中vari==null?null:vari.Attribute1的结果是一样的。虽然.net framework 4.5比4.0增加了不少的东西,它其实只是方便了你写的源码,IL指令并没有任何的增加!
所以呢每当.net framework版本增加时,其实只变化了一些我们编码时的语法或语法糖而已!并附带送给我们几个模板或新开发几个模板而已。比如MVC/web api等等模板。
说完了生成,现在再说一下IL是怎么运行的,IL其实并不能直接运行,我们需要一个标准把IL再"映射“成可运行的二进制(机器语言),源码”映射“成IL使用的是.net framework,而IL映射成二进制需要的是.net,不同的是我们把源码”映射“IL叫编译,使用的是.net framework,也叫编译态,而IL映射成二进制并运行,这个叫运行态。所以我们称两个的区别一个叫开发环境,一个叫运行环境。如果按照正常的理解,其实我们一个用的是.net framework 4.X,运行时我们安装的dotnet4f,是运行环境。
运行环境的虚拟机就是为了把IL映射成二进制(Native Image),而且我们会保存起来,当然了,下次使用相同的IL时,直接使用Native Image中已保存的,不再执行翻译了,这个就是运行时的机制。
大多数时间很多人把开发环境与运行环境弄混了,为什么呢?因为我们开发时避免不了要测试及运行,所以开发环境包含了运行环境(你安装.net framework时同时会安装运行环境),而不需要开发的人员比如如使用windows 中已经安装了部分的.net 运行环境支持,所以他们也不需要了解这个东西。只在在出现类似.net framework 4.0在vista版本中运行时,就需要给vista非开发机安装.net framework运行版本。否则不需要。所以很多人把开发环境与运行环境混在一起理解了。
事实上,.net framework 2.0/3.5开发的软件,生成了IL标准都是2.0的,所以我们只需要2.0的运行环境。而.net 4.0及4.x.y都使用的是.net 4.0的运行环境。
说白了,.net有开发版本,而framework相当于编译时使用的标准。而IL的标准则是MSIL,也叫是我们常说的CLS,而把运行态叫CLR(公共语言运行时)是虚拟机要执行的标准。
所以,其概况非常简单,.net支持多种语言,多种语言都是可以生成IL依赖于不同的编译器,比如csc/vbc等。可以让不同的语言开发者在同平台下工作。而IL(中间语言)再由虚拟机在不同的机器上翻译成不同的机器语言,保证了其移植性。包括现在支持的linux新标准也是如此方式。跨平台则使用是native image方式。
分清这两个步骤,那么.net就没有什么神密的了。
告诉你几个事实,有助于理解问题。
C#生成的IL可以被反射成VB语法!当然反向也可以!Red gate的reflector已被MS收购。可以试试的,原来的ILDism已被基本放弃了!它是早期做为VS的插件工具出现的。当然ILSpy也是不错的,那只是一个反射工具而已。请细想为什么C#生成的IL可以反射成VB语言(反射的准确度与各家软件的功能有一定的关系)
.net framework 4.0的生成的IL可以被反射成4.7.2的语法!想想这是为什么?如果你运行环境与编译环境搞混的话,假定IL中也有4.7.2的运行环境,那么怎么可能版本之间相互反射?但是,.net 2.0生成的IL反射成.net 4.0会存在问题,.net 4.0生成的IL反射成2.0会会现很多错误!其实.net 4.0并不包含.net 2.0的语法集,所以这两个运行版本并不兼容,反射软件只会把相同的部分反射出来,不同的部分就难以反映了!.net 2.0反射4.0的结果要好点,这是因归功于.net framework为了降低学习成本,有一定的连续性,但是这种连续性在高版中部分.开发使用的C#语法被放弃(放弃与清除是不同的,放弃还能反射出来,清除的却无法再反射了)。
搞清这些就能搞清楚.net的两段三步(两段开发段/运行段,三步,源码语法(C#/VB),IL语法(MSIL), 二进制(可运行的机器语言))。