csc 用法

2024-04-27 22:08
文章标签 用法 csc

本文主要是介绍csc 用法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

csc 用法 

csc 用法
0
推荐

首先,我们用文本文件建一个.cs的文件 其实这个扩展名是可以自己定的,另不用.cs也是可以的,建一个文件命名为:SimpleProgram.cs 输入下面的代码


using System;
public class SimpleProgram
{
    static void Main()
    {
        Console.WriteLine(“Hello”);
        Console.ReadLine();
    }
}

保存,注意一下大小写,然后在命令行窗口里输入:csc SimpleProgram.cs,当然我们要首先进入文件所在目录 如果编译通过,在同一个文件夹里会出现一个SimpleProgram.exe,运行 就可以看到一个控制台程序 打印出Hello.

 

接着我们讲编译多个源文件

编译多个源文件有几种方面:1.把所有的源文件编译成一个exe文件 2.把一些文件编译成dll,一些编译成exe 然后作为一个应用程序一起使用。


先说第一个方法:做两个.cs文件

Program2.cs


using System
public class Program2
{
    static void Main()
    {
        Person p=new Person(“dotLive”);
        Console.WriteLine(“Our person’s name is “+p.Name);
    }
}

 

Person.cs


using System;
public class Person
{
    private string name;
    public Person(string s)
    {
        name=s;
    }
    public string Name
    {
        get{
            return name;
        }
        set
        {
            name=value;
        }   
    }
  }


 
保存,命令行窗口中进入文件目录 输入:csc Program2.cs Person.cs   这个时候会在目录里生成一个exe文件,文件的名称跟第一个.cs的文件名相同,如果.cs文件很多的话 还有一个简单的写法:csc *.cs 就可以把当前目录里的所有.cs文件进行编译。

现在说一下第二种方法,还是使用上面两个.cs文件

首先输入 csc /t:library Person.cs命令 这时候会生成一个Person.dll文件,然后第二步输入命令 csc Program2.cs /r:Person.dll 这样就可以生成一个引用Person.dll的exe文件Program2.exe文件。

这里出现了两个参数 /t 和 /r

/t 是指定编译生成dll还是exe,在第一种方法中的命令csc *.cs 其实是一个简写,完整的写法是csc /t:exe *.cs,由于/t:exe是默认的选项可以不写, 还要说一句 这里的exe文件都是控制台应用程序(其他的以后再说)

/r 的作用可以看成是引用了一个dll文件,格式可以写成csc program.cs /r:1.dll;2.dll;3.dll

挂接多个dll,每个dll之间用分号 隔开。

接着我们再讲一个参数 /out 这个是给可执行文件命名的 比如:csc /out:MyApp.exe Program2.cs Person.cs 这样就可以生成一个叫做MyApp.exe的可执行文件。

 

最后再将一个 如果有多个.cs文件中存在Main函数 要怎么办?

首先我们在Person.cs文件的Person类里添加一个Main函数

using System;
public class Person
{
    private string name;
    public Person(string s)
    {
        name=s;
    }
    public string Name
    {
        get{
            return name;
        }
        set
        {
            name=value;
        }   
    }
    //新增加一个Main函数
    static void Main()
    {
        Person p=new Person(“dotLive2”);
        Console.WriteLine(“Our person’s name is “+p.Name);
    }

  }
 
这样一来如果按照原来的方法同时将两个文件编译进同一个exe时,便以一定会出错

这时候我们再引入一个新的参数 /main

在我们自己决定要使用哪个cs文件里的Main函数时 可以输入命令

csc Program2.cs Person.cs /main Program2

就是制定了以Program2里的Main函数为程序入口点了。

 

阅读全文(10) | 回复(0) |反映问题 | 引用通告(0) | 编辑
  • 上一篇:如何在ASP.NET程序里面执行DOS命令
  • 下一篇:编译asp.net文件为dll文件
[系统公告]关于游客评论功能开放的公告
发表评论:
粗体 斜体 下划线 插入引用 插入表情
<textarea class="oblog_ubbtext" id="oblog_edittext" οnfοcus="addcode();" rows="10" cols="92" name="oblog_edittext"></textarea>

这篇关于csc 用法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/941666

相关文章

Python中多线程和多进程的基本用法详解

《Python中多线程和多进程的基本用法详解》这篇文章介绍了Python中多线程和多进程的相关知识,包括并发编程的优势,多线程和多进程的概念、适用场景、示例代码,线程池和进程池的使用,以及如何选择合适... 目录引言一、并发编程的主要优势二、python的多线程(Threading)1. 什么是多线程?2.

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

Python itertools中accumulate函数用法及使用运用详细讲解

《Pythonitertools中accumulate函数用法及使用运用详细讲解》:本文主要介绍Python的itertools库中的accumulate函数,该函数可以计算累积和或通过指定函数... 目录1.1前言:1.2定义:1.3衍生用法:1.3Leetcode的实际运用:总结 1.1前言:本文将详

MyBatis-Flex BaseMapper的接口基本用法小结

《MyBatis-FlexBaseMapper的接口基本用法小结》本文主要介绍了MyBatis-FlexBaseMapper的接口基本用法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具... 目录MyBATis-Flex简单介绍特性基础方法INSERT① insert② insertSelec

深入解析Spring TransactionTemplate 高级用法(示例代码)

《深入解析SpringTransactionTemplate高级用法(示例代码)》TransactionTemplate是Spring框架中一个强大的工具,它允许开发者以编程方式控制事务,通过... 目录1. TransactionTemplate 的核心概念2. 核心接口和类3. TransactionT

数据库使用之union、union all、各种join的用法区别解析

《数据库使用之union、unionall、各种join的用法区别解析》:本文主要介绍SQL中的Union和UnionAll的区别,包括去重与否以及使用时的注意事项,还详细解释了Join关键字,... 目录一、Union 和Union All1、区别:2、注意点:3、具体举例二、Join关键字的区别&php

oracle中exists和not exists用法举例详解

《oracle中exists和notexists用法举例详解》:本文主要介绍oracle中exists和notexists用法的相关资料,EXISTS用于检测子查询是否返回任何行,而NOTE... 目录基本概念:举例语法pub_name总结 exists (sql 返回结果集为真)not exists (s

Springboot中Jackson用法详解

《Springboot中Jackson用法详解》Springboot自带默认json解析Jackson,可以在不引入其他json解析包情况下,解析json字段,下面我们就来聊聊Springboot中J... 目录前言Jackson用法将对象解析为json字符串将json解析为对象将json文件转换为json

bytes.split的用法和注意事项

当然,我很乐意详细介绍 bytes.Split 的用法和注意事项。这个函数是 Go 标准库中 bytes 包的一个重要组成部分,用于分割字节切片。 基本用法 bytes.Split 的函数签名如下: func Split(s, sep []byte) [][]byte s 是要分割的字节切片sep 是用作分隔符的字节切片返回值是一个二维字节切片,包含分割后的结果 基本使用示例: pa

UVM:callback机制的意义和用法

1. 作用         Callback机制在UVM验证平台,最大用处就是为了提高验证平台的可重用性。在不创建复杂的OOP层次结构前提下,针对组件中的某些行为,在其之前后之后,内置一些函数,增加或者修改UVM组件的操作,增加新的功能,从而实现一个环境多个用例。此外还可以通过Callback机制构建异常的测试用例。 2. 使用步骤         (1)在UVM组件中内嵌callback函