为了完成C#程序编译和运行,需要安装代码对应版本的编译器和CLI(公共语言框架)平台。

(部分内容摘自《C#本质论》)

针对主流的CLI平台(Microsoft .NET),有两种安装方案:

1.最小安装:下载安装.NET Framwork2.0 或更高版本的发布包。

2.安装Visual Studio IDE 可获得功能丰富的IDE(包括智能感知、对项目文件的支持等)。

为了使用命令行进行编译,无论是安装了Visual Studio 还是只安装了运行时,必须设置PATH环境变量来包含C#编译器csc.exe。

为Microsoft .NET设置编译器路径:

1.若当前计算机已经安装Visual Studio IDE,选择 “开始”->“所有程序”->"Microsoft Visual Studio .NET"->"Visual Studio Tools"->"Visual Studio 命令提示",从而打开命令窗口,此时会将编译器csc.exe放到路径中,便于在任何目录下执行。如图:

执行完后,会得到Animal类文件对应的.dll文件。

2.若没安装Visual Studio IDE。需要显示引用完整的编译器路径名。编译器的位置是%Windir%\Microsoft .Net\Framwork\<版本>。其中,%Windir%指向本机Windows安装目录下的一个特殊环境变量,<版本>是指当前计算机上安装的.NET Framwork版本号(eg. v2.0.50727、v3.5)。每次调用编译器csc.exe时,先使用命令:Set PATH=%Windir%\Microsoft .Net\Framwork\<版本> 将编译器位置添加到路径中。再使用csc.exe编译指定文件。

3.可以将编译器路径添加到系统环境变量中,避免每次调用csc.exe时都提供完整路径

(1)配置命令行编译器

计算机->属性->高级系统设置->环境变量 双击“系统变量”中的Path变量,在当前变量值的末尾加入编译器路径(路径变量各值用分号隔开)。

(注意路径和版本号,自己去安装目录查看。以我的安装路径为例)在Path变量中添加 ;C:\Windows\Microsoft.NET\Framwork64\v3.5

若配置成功,cmd进入命令行窗口输入:csc.exe/? 将显示c#编译器支持的选项列表(如图):

(2)配置其他.NET 命令行工具:

在(1)中的Path变量中加入命令行工具路径,(本机为例);D:\Microsoft Visual Studio 2013\SDK\v3.5\Bin

若配置成功,在命令行窗口中输入:gacutil /? 查看GAC工具gacutil.exe的各个选项。

完成路径配置后,-打开cmd,转到源文件所在目录-输入命令:csc /target:library  Animal.cs 即可得到编译文件Animal.dll(如图)

其中/target:library 指定文件编译成单一文件*.dll程序集。关于其他输出选项、利用编译器引用外部程序集等查看MSDN。

C#编译器和CLI的安装的更多相关文章

  1. angular 2 - 001 ng cli的安装和使用

    angular cli 创建项目和组件 ng new my-app --skip-install cd my-app cnpm install ng serve localhost:4200 angu ...

  2. Angular CLI的安装及使用

    安装命令行 npm install -g @angular/cli 检查命令行 ng v 使用这个命令可以检查 angular cli是否安装成功.我检查的时候发现没有安装成功,提示我使用的node. ...

  3. vue之cli脚手架安装和webpack-simple模板项目生成

    ue-cli 是一个官方发布 vue.js 项目脚手架,使用 vue-cli 可以快速创建 vue 项目. GitHub地址是:https://github.com/vuejs/vue-cli 一.安 ...

  4. AWS S3 CLI的安装和配置

    以Ubuntu系统为例,说明如何使用CLI调试AWS S3环境: 1. 安装 # sudo pip install awscli 2. 配置AWS CLI 执行命令aws configure, 注意, ...

  5. Angular/cli的安装

    Angular cli 是一个命令行工具,用来创建,打包,发布项目. Angular cli 安装之前必须先安装Node 6.9.0及以上版本,NPM 3 及以上版本. 在cmd控制台窗口执行命令no ...

  6. vue cli的安装与使用

    一.简介 vue作为前端开发的热门工具,受到前端开发人员的喜爱.为了简化项目的构建,采用vue cli来简化开发. vue cli是一个全局安装的npm包,提供了终端使用的命令.vue create可 ...

  7. Android系统开发(1)——GCC编译器的编译和安装过程

    GCC编译器介绍 GCC编译器(GNG C Compiler)是GNU项目中符合ANSI C标准的编译系统,能够编译C  C++  Object C等语言编写的程序,同时GCC也是一个交叉编译器,特别 ...

  8. Vue CLI 介绍安装

    https://cli.vuejs.org/zh/guide/ 介绍 警告 这份文档是对应 @vue/cli 3.x 版本的.老版本的 vue-cli 文档请移步这里. Vue CLI 是一个基于 V ...

  9. .Net Core CLI windows安装

    下载官方的msi安装包official MSI installer双击安装就可以了. 默认会安装到C:\Program Files\dotnet\目录下,如果找不到可以用命令 where dotnet ...

随机推荐

  1. 201521123052《Java程序设计》第3周学习总结

    1. 本周学习总结 2. 书面作业 1.代码阅读 public class Test1 { private int i = 1;//这行不能修改 private static int j = 2; p ...

  2. JAVA2015086第十一周作业

    本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 书面作业 本次PTA作业题集多线程 1.互斥访问与同步访问 完成题集4-4(互斥访问)与4-5(同步访问) 1.1 除了 ...

  3. 201521123053《Java程序设计》第十二周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 一些有关流与文件的知识点: 1. 字节缓冲流: BufferedInputStream(FileInputSt ...

  4. Markdown例

    一个例子: 例子开始 1. 本章学习总结 今天主要学习了三个知识点 封装 继承 多态 2. 书面作业 Q1. java HelloWorld命令中,HelloWorld这个参数是什么含义? 今天学了一 ...

  5. Java:实现对象的比较 comparable接口和comparator接口

    在实际应用中,我们往往有需要比较两个自定义对象大小的地方.而这些自定义对象的比较,就不像简单的整型数据那么简单,它们往往包含有许多的属性,我们一般都是根据这些属性对自定义对象进行比较的.所以Java中 ...

  6. MongoDB 索引篇

    MongoDB 索引篇 索引的简介 索引可以加快查询的速度,但是过多的索引或者规范不好的索引也会影响到查询的速度.且添加索引之后的对文档的删除,修改会比以前速度慢.因为在进行修改的时候会对索引进行更新 ...

  7. GCD之信号量机制二

    在前面GCD之信号量机制一中介绍了通过信号量设置并行最大线程数,依此信号量还可以防止多线程访问公有变量时数据有误,下面的代码能说明. 1.下面是不采用信号量修改公有变量的值 1 2 3 4 5 6 7 ...

  8. 如何实现跨 Docker 主机存储?- 每天5分钟玩转 Docker 容器技术(73)

    从业务数据的角度看,容器可以分为两类:无状态(stateless)容器和有状态(stateful)容器. 无状态是指容器在运行过程中不需要保存数据,每次访问的结果不依赖上一次访问,比如提供静态页面的 ...

  9. struts2---自定义类型转换器

    从servlet我们知道从页面获取到的参数都是string类型,但是struts2中基本的数据类型,它可以自动帮我们转化为其对应的包装类,就像获取到123,可以自动转化为Integer,但是比如201 ...

  10. Redis学习——Redis事务

    Redis和传统的关系型数据库一样,因为具有持久化的功能,所以也有事务的功能! 有关事务相关的概念和介绍,这里就不做介绍. 在学习Redis的事务之前,首先抛出一个面试的问题. 面试官:请问Redis ...