网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > C# > 正文
使用 C# 2.0 命令行编译器
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/14
下载{$ArticleTitle}原创论文样式
件,只须将文件扩展名作为 resgen.exe 的参数进行更新:

resgen myStrings.resx myStrings.resources

此时,我们具有了一个名为 myStrings.resources 的二进制资源文件。通过 /resource 标志可以达到使用 csc.exe 将该数据嵌入到 .NET 程序集中的目的。假设我们已经创作了位于 MyResourceApp 目录中的以下 C# 文件 (resApp.cs):

// This simple app reads embedded// resources and displays them to the // console.using System;using System.Resources;using System.Reflection;public class ResApp{  private static void Main()  {    ResourceManager rm = new ResourceManager("myStrings",       Assembly.GetExecutingAssembly());    Console.WriteLine("Last taught a {0} class.",      rm.GetString("lastClassTaught"));  }}

要相对于您的 myStrings.resources 文件编译该程序集,请输入以下命令:

csc /resource:myStrings.resources *.cs

因为我尚未指定 /out 标志,所以在该示例中,我们的可执行文件的名称将基于定义了 Main() 的文件 resApp.exe。如果一切正常,则在执行以后,您应当发现类似于图 11 的输出。


图 11. 输出

我希望您能够轻松地使用 csc.exe 和所选的文本编辑器创建单文件和多文件 .NET 程序集(带有资源!)。您已经学习了 csc.exe 的最常见的命令行选项,而本文的其余部分将分析一些不太常用但仍然有帮助的选项。

如果您愿意继续学习,请在 MyCSharpCode 文件夹中创建一个名为 FinalExample 的新目录。

返回页首返回页首

使用 /define 定义预处理器符号

尽管 C# 编译器没有真正预处理代码,但该语言的确允许我们使用类似于 C 的预处理器符号来定义该编译器以及与其进行交互。使用 C# 的 #define 语法,可以创建能够控制应用程序内部的执行路径的标记。

必须在使用任何语句或其他 C# 类型定义之前列出所定义的符号。

为了利用常见的示例,假设您希望定义一个名为 DEBUG 的符号。为此,请创建一个名为 finalEx.cs 的新文件,并将其保存在 MyCSharpCode\FinalExample 目录中:

// Define a ''preprocessor'' symbol named DEBUG. #define DEBUGusing System;public class FinalExample{  public static void Main()  {    #if DEBUG      Console.WriteLine("DEBUG symbol defined");    #else      Console.WriteLine("DEBUG not defined");    #endif  }}

请注意,在我们使用 #define 定义了符号以后,我们就能够使用 #if、#else 和 #endif 关键字来有条件地检查和响应该符号。如果您现在编译该程序,则应当看到在 finalEx.exe 执行时,消息“DEBUG symbol defined”显示到控制台上:

csc *.cs

但是,如果您注释掉符号定义:

// #define DEBUG

则输出将会像您预料的那样(“DEBUG not defined”)。

在 .NET 程序集的开发和测试期间,在命令行定义符号可能有所帮助。这样做可以快速地即时指定符号,而不必更新代码基。为了进行说明,假设您希望在命令行定义 DEBUG 符号,则请使用 /define 选项:

csc /define:DEBUG *.cs

当您再次运行该应用程序时,您应当看到显示“DEBUG symbol defined”— 即使 #define 语句已经被注释掉。

返回页首返回页首

csc.exe 的以调试为中心的选项

即使是最好的程序员,有时也会发现有对他们的代码基进行调试的需要。尽管我假设大多数读者更喜欢使用 Visual Studio .NET 进行调试活动,但对 csc.exe 的一些以调试为中心的选项(表 6)进行说明是值得的。

6. csc.exe 的以调试为中心的选项

csc.exe 的以调试为中心的选项定义

/debug

指示 csc.exe 发出一个 *.pdb 文件,以供调试工具(例如,cordbg.exe、dbgclr.exe 或 Visual Studio)使用。

/warnaserror

将所有警告视为严重错误。

/warn

使您可以指定当前编译的警告级别(0、1、2、3 或 4)。

/nowarn

使您可以禁用特定的 C# 编译器警告。

/bugreport

如果应用程序在运行时出现故障,则该选项可生成错误日志。该选项将提示您输入纠正信息以发送到您希望的任何地方(例如,QA 小组)。

  • 下一篇资讯: C#中调用Windows API的要点
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号