nieyangjie

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

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

文件位置: C:\WINDOWS\Microsoft.NET\Framework\v3.5

 

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:library quote.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 myComponents

Public Class Quote

Dim myRand As New Random

Public Function ShowQuote() As String
Select myRand.Next3 )
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" %>

<Script Runat="Server">

Sub Page_Load
Dim myQuote As New Quote

lblOutput.Text 
= myQuote.ShowQuote()
End Sub

</Script>

<html>
<head><title>ShowQuote.aspx</title></head>
<body>

And the quote is
<br>
<asp:Label
id="lblOutput"
Runat
="Server" />

</body>
</html>


附注:

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 编译器选项

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


使用 C# 2.0 命令行编译器

posted on 2012-05-01 20:22  nieyangjie  阅读(...)  评论(...编辑  收藏

My Links

Blog Stats