命令行编译器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: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 

None.gif Imports  System
None.gif
ExpandedBlockStart.gifContractedBlock.gif
Namespace myComponents Namespace myComponents
InBlock.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif
Public Class QuoteClass Quote
InBlock.gif
InBlock.gif
Dim myRand As New Random
InBlock.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif
Public Function ShowQuote()Function ShowQuote() As String
InBlock.gif
Select myRand.Next3 )
InBlock.gif
Case 0
InBlock.gif
Return "Look before you leap"
InBlock.gif
Case 1
InBlock.gif
Return "Necessity is the mother of invention"
InBlock.gif
Case 2
InBlock.gif
Return "Life is full of risks"
InBlock.gif
End Select
ExpandedSubBlockEnd.gif
End Function

InBlock.gif
ExpandedSubBlockEnd.gif
End Class

InBlock.gif
ExpandedBlockEnd.gif
End Namespace

None.gif
None.gif

showquote.aspx

ExpandedBlockStart.gif ContractedBlock.gif <% dot.gif @ Import Namespace="myComponents"  %>
None.gif
ExpandedBlockStart.gifContractedBlock.gif
< Script  Runat ="Server" > dot.gif
InBlock.gif
InBlock.gifSub Page_Load
InBlock.gifDim myQuote As New Quote
InBlock.gif
InBlock.giflblOutput.Text 
= myQuote.ShowQuote()
InBlock.gifEnd Sub
ExpandedBlockEnd.gif
None.gif
</ Script >
None.gif
None.gif
< html >
None.gif
< head >< title > ShowQuote.aspx </ title ></ head >
None.gif
< body >
None.gif
None.gifAnd the quote isdot.gif
None.gif
< br >
None.gif
< asp:Label
None.gif
id ="lblOutput"
None.gifRunat
="Server"   />
None.gif
None.gif
</ body >
None.gif
</ html >
None.gif


附注:

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 运行时库。

扫描二维码关注公众号,回复: 6684303 查看本文章

请参见

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 命令行编译器

转载于:https://www.cnblogs.com/Spring/archive/2005/03/25/125686.html

猜你喜欢

转载自blog.csdn.net/weixin_33756418/article/details/93932364
今日推荐