世界第一哨笛名曲:命令行编译器vbc.exe和csc.exe的使用 - Spring - 博客园

来源:百度文库 编辑:偶看新闻 时间:2024/05/05 03:23:46

命令行编译器vbc.exe和csc.exe的使用

 

Titlevbc:MSDN相关
http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/vblr7/html/valrfvbcompileroptionslistedbycategory.asp
csc:MSDN相关
使用 C# 2.0 命令行编译器

将quote.vb编译成quote.dll文件,使用的命令是:vbc.exe,我用的机器上装的是win server 2003.命令所在的路径为:C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322。在DOS命令符下进入上面的目录,将quote.vb复制到当前目录中,再用命令vbc /t:libraryquote.vb,ok,完成编译,再将生成的quote.dll剪切到bin目录中(说明:/bin目录必须是你的应用程序根目录的直接子目录。在默认情况下是\wwwroot\bin\,但是,如果你的应用程序被包含在一个虚拟目录中,那么必须在虚拟目录的根目录中创建/bin目录),例如我建了一个虚拟目录aspx,我将showquote.aspx存在/aspx/3/showquote.aspx,那么我就要将quote.dll放在/aspx/bin/quote.dll,我在对照《ASP.NET技术内幕》时出了些麻烦,因为书中library前多了个空格,且vbc.exe的目录也不同。

 

附:
quote.vb 

 

Imports System

Namespace myComponentsNamespace myComponents

Public Class QuoteClass Quote

Dim myRand As New Random

Public Function ShowQuote()Function ShowQuote() As String
Select myRand.Next( 3 )
Case 0
Return "Look before you leap"
Case 1
Return "Necessity is the mother of invention"
Case 2
Return "Life is full of risks"
End Select
End Function

End Class

End Namespace

 

showquote.aspx

 

<%@ Import Namespace="myComponents" %>



Sub Page_Load
Dim myQuote As New Quote

lblOutput.Text = myQuote.ShowQuote()
End Sub




ShowQuote.aspx


And the quote is


id="lblOutput"
Runat="Server" />





附注:

Visual Basic 语言概念  

作为从 Visual Studio .NET 中编译 Visual Basic .NET 程序的另一种方法,可从命令行编译以产生可执行 (.exe) 文件或动态链接库 (.dll) 文件。

Visual Basic .NET 命令行编译器支持控制输入文件和输出文件、程序集以及调试和预处理器选项的完整选项集。每个选项有两种可用的可互换形式:-option 和 /option。本文档仅显示 /option 形式。

下表列出了一些可以根据自己的需要进行修改的示例命令行。

要实现的操作 请使用 编译 File.vb 并创建 File.exe vbc /reference:Microsoft.VisualBasic.dll File.vb 编译 File.vb 并创建 File.dll vbc /target:library File.vb 编译 File.vb 并创建 My.exe vbc /out:My.exe File.vb 打开优化并定义 DEBUG 符号,编译当前目录中的所有 Visual Basic 文件,生成 File2.exe vbc /define:DEBUG=1 /optimize /out:File2.exe *.vb 编译当前目录中的所有 Visual Basic 文件,生成 File2.dll 的调试版本并且不显示徽标或警告 vbc /target:library /out:File2.dll /warn:0 /nologo /debug *.vb 将当前目录中的所有 Visual Basic 文件编译为 Something.dll vbc /target:library /out:Something.dll *.vb

在从命令行进行编译时,必须通过 /reference 编译器选项显式引用 Microsoft Visual Basic 运行时库。

请参见

Visual Basic 编译器选项 | 条件编译概述

 

Visual Basic 编译器选项  

Visual Basic .NET 命令行编译器可作为从 Visual Studio .NET 集成开发环境 (IDE) 中编译程序的另一种方法。以下是按功能类别排序的 Visual Basic 命令行编译器选项列表。

编译器输出

选项 目的 /nologo 不显示编译器版权标志信息。 /utf8output 使用 UTF-8 编码显示编译器输出。 /verbose 输出编译过程中的其他信息。

优化

选项 目的 /optimize 启用/禁用优化。

输出文件

选项 目的 /netcf 将编译器设置为面向 .NET Framework 精简版。 /out 指定输出文件。 /target 使用下列四个选项之一指定输出文件的格式:/target:exe/target:library/target:module/target:winexe

.NET 程序集

选项 目的 /addmodule 使编译器将指定文件中的所有类型信息对当前正在编译的项目可用。 /delaysign 指定程序集是完全签名的还是部分签名的。 /imports 由指定的程序集导入命名空间。 /keycontainer 指定密钥对的密钥容器名称以给予程序集强名称。 /keyfile 指定包含密钥或密钥对的文件以给予程序集强名称。 /libpath 通过 /reference 选项指定所引用程序集的位置。 /reference 从程序集导入元数据。

调试/错误检查

选项 目的 /bugreport 创建一个文件,该文件包含有助于报告错误的信息。 /debug 产生调试信息。 /nowarn 取消编译器生成警告的能力。 /quiet 防止编译器针对与语法相关的错误和警告显示代码。 /removeintchecks 禁用整数溢出检查。 /warnaserror 将警告提升为错误。

帮助

选项 目的 /? 显示编译器选项。此命令等同于指定 /help 选项。未进行编译。 /help 显示编译器选项。此命令等同于指定 /? 选项。未进行编译。

语言

选项 目的 /optionexplicit 要求显式声明变量。 /optionstrict 强制执行严格的类型语义。 /optioncompare 确定字符串比较是采用二进制格式还是使用区域设置规范文本语义。

预处理器

选项 目的 /define 定义用于条件编译的符号。

资源

选项 目的 /linkresource 创建到托管资源的链接。 /resource 将托管资源嵌入程序集。 /win32icon 将 .ico 文件插入到输出文件中。 /win32resource 将 Win32 资源插入到输出文件中。

杂项

选项 目的 @(指定响应文件) 指定响应文件。 /baseaddress 指定 DLL 的基址。 /main 指定包含启动时要使用的 Sub Main 过程的类。 /recurse 在子目录中搜索要编译的源文件。 /rootnamespace 为所有类型声明指定一个命名空间。 /sdkpath 指定 mscorlib.dll 和 microsoft.visualbasic.dll 的位置。

请参见

按字母顺序列出的 Visual Basic 编译器选项 | “<项目名> 属性页”对话框

vbc:MSDN相关
http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/vblr7/html/valrfvbcompileroptionslistedbycategory.asp