I n addition to the compilers for Visual Basic .NET vbc.exe, C++ cl.exe, and C# csc.exe,the Microsoft .NET Framework SDK adds a number of tools designed to make it easier for you to crea
Trang 1B Command-Line Utilities
CertPrs8 / MCAD/MCSD XML Web Services and Server Components Development with Visual Basic NET / Lind / 222653-6 /
Chapter B Composite Default screen
Trang 2I n addition to the compilers for Visual Basic NET (vbc.exe), C++ (cl.exe), and C# (csc.exe),
the Microsoft NET Framework SDK adds a number of tools designed to make it easier
for you to create, deploy, and manage applications and components that target the NET
Framework This appendix will introduce these tools and will also detail the command-line
usages of vbc.exe.
Command Utilities
In order to be able to run these command-line utilities, you must configure the environment properly The Visual Studio NET installation includes a command file (VCVARS32.bat) that configures the command environment properly by setting the path variable to include the Visual Studio NET directory The command file is installed in the \bin directory of your installation (the default is c:\Program Files\
Microsoft Visual Studio.NET\vc7\bin) The command file is configured during the installation of Visual Studio to correspond to your computer’s setup Do not replace
a missing or damaged VCVARS32.bat file with a VCVARS32.bat from another machine Rerun setup to replace the missing file.
To run VCVARS32.bat, you can execute it from the path or you can use the shortcut Select Start | Programs | Microsoft Visual Studio NET | Visual Studio NET Tools | Visual Studio NET Command Prompt.
We recommend that you create a shortcut to the NET command prompt on your desktop and in the Windows taskbar.
The NET Framework SDK tools are grouped according to use:
■ Debugging tools (see Table B-1)
■ Configuration and deployment tools (see Table B-2)
■ Security tools (see Table B-3)
■ General tools (see Table B-4)
Debugging Tools
CertPrs8 / MCAD/MCSD XML Web Services and Server Components Development with Visual Basic NET / Lind /
222653-6 / Appendix B
2 Appendix B: Command-Line Utilities
CertPrs8 / MCAD/MCSD XML Web Services and Server Components Development with Visual Basic NET / Lind /
222653-6 / Appendix B
Microsoft CLR Debugger (DbgCLR.exe)
Provides debugging services with a graphical interface to help application developers find and fix bugs in programs that target the runtime
Runtime Debugger (Cordbg.exe) Provides command-line debugging services using the
Common Language Runtime Debug API It is used to find and fix bugs in programs that target the runtime
TABLE B-1
The NET
Framework SDK
Debugging Tools
Composite Default screen
Trang 3Configuration and Deployment Tools
CertPrs8 / MCAD/MCSD XML Web Services and Server Components Development with Visual Basic NET / Lind /
222653-6 / Appendix B
Command Utilities 3
CertPrs8 / MCAD/MCSD XML Web Services and Server Components Development with Visual Basic NET / Lind /
222653-6 / Appendix B
Assembly Cache Viewer (Shfusion.dll) Lets you to view and manipulate the contents of the Global
Assembly Cache using Windows Explorer
Assembly Linker (Al.exe) Allows you to use either resource files or Microsoft Intermediate
Language (MSIL) files to generate a file with an assembly manifest
Assembly Registration tool (Regasm.exe) Registers NET Framework classes to the Registry, which allows
COM clients to create NET Framework classes transparently Assembly Binding Log Viewer (Fuslogvw.exe) Displays log-file information for failed assembly binding This
information can help you diagnose the reasons the NET Framework has problems locating an assembly at run time Global Assembly Cache tool (Gacutil.exe) This tool allows you to view and manipulate the contents of the
Global Assembly Cache and download cache You can use Gacutil.exe in build scripts, makefile files, and batch files Installer tool (Installutil.exe) Allows you to install and uninstall server resources by executing
the installer components of a specified assembly
Isolated Storage tool (Storeadm.exe) Displays and manages all existing stores for the currently
logged-on user
Native Image Generator (Ngen.exe) Lets you create a native image from a managed assembly and
install the image in the native image cache on the local computer .NET Framework Configuration tool
(Mscorcfg.msc)
Provides a graphical interface for managing NET Framework security policy and applications that use remoting services This tool also allows you to manage and configure assemblies in the Global Assembly Cache
.NET Services Installation tool (Regsvcs.exe) Allows you to add managed classes to Windows 2000
Component Services (COM+) by loading and registering the assembly and generating, registering, and installing the type library into an existing COM+ 1.0 application
Soapsuds tool (Soapsuds.exe) Lets you compile client applications that communicate with
XML web services The technique used is called remoting.
Type Library Exporter (Tlbexp.exe) Generates a type library from a Common Language Runtime
assembly
Type Library Importer (Tlbimp.exe) Converts the type definitions found within a COM type library
into equivalent definitions in managed metadata format
Web Services Description Language tool (Wsdl.exe) Generates the code for XML web services and XML web service
clients, XML Schema Definition (XSD) schema files, and the disco discovery documents from WSDL (Web Services Description Language) contract files
TABLE B-2 The NET Framework SDK Configuration and Deployment Tools
Composite Default screen
Trang 4Security Tools
4 Appendix B: Command-Line Utilities
CertPrs8 / MCAD/MCSD XML Web Services and Server Components Development with Visual Basic NET / Lind /
222653-6 / Appendix B
Web Services Discovery tool (Disco.exe) Allows you to discover the URLs of XML web services located
on a web server
XML Schema Definition Tool (Xsd.exe) Generates XML schemas that follow the XSD language
proposed by the World Wide Web Consortium (W3C) This tool generates Common Language Runtime classes and DataSet classes from an XSD schema file
TABLE B-1 The NET Framework SDK Configuration and Deployment Tools (continued)
Certificate Creation Tool (Makecert.exe) Creates X.509 certificates for testing purposes only
Certificate Manager tool (Certmgr.exe) Manages certificates, certificate trust lists (CTLs), and certificate
revocation lists (CRLs)
Certificate Verification tool (Chktrust.exe) Verifies the validity of a file signed with an X.509 certificate
Code Access Security Policy tool (Caspol.exe) Allows you to examine and modify security policies for the
machine, user, and enterprise-level code access
File Signing tool (Signcode.exe) Signs a portable executable (PE) file with an Authenticode
digital signature
Permissions View tool (Permview.exe) Allows you to view the minimal, optional, and refused
permission sets requested by an assembly You can also use this tool to display the declarative security used by
an assembly
PEVerify tool (PEVerify.exe) Conducts MSIL type-safety verification checks and metadata
validation checks on an assembly
Secutil tool (Secutil.exe) Extracts public-key information or Authenticode publisher
certificates from an assembly The output is formatted to be incorporated into code
Set Registry Tool (Setreg.exe) Allows you to change the Registry settings for the Software
Publishing State keys
Software Publisher Certificate Test tool
(Cert2spc.exe)
Tests a Software Publisher’s Certificate (SPC), or creates an SPC from one or more X.509 certificates
Strong Name tool (Sn.exe) Allows you to create assemblies with strong names
TABLE B-3 The NET Framework SDK Security Tools
Composite Default screen
Trang 5Visual Basic NET Compiler (vbc.exe) 5
CertPrs8 / MCAD/MCSD XML Web Services and Server Components Development with Visual Basic NET / Lind /
222653-6 / Appendix B
General Tools
Visual Basic NET Compiler (vbc.exe)
In order to compile and run a Visual Basic NET program, you will need to have the NET Framework installed on your computer Microsoft has made the NET Framework available as a free upgrade, and you can either download it from http://msdn.microsoft.com (approximately 130MB) or order a CD that contains the NET Framework.
Common Language Runtime Minidump tool
(Mscordmp.exe)
Creates a file containing a core dump of information that can be useful when analyzing system issues in the runtime
License Compiler (Lc.exe) Allows you to create a licenses file that can be
embedded in a Common Language Runtime executable It reads text files that contain licensing information
Management Strongly Typed Class Generator
(Mgmtclassgen.exe)
Allows you to quickly generate an early-bound class for a specified Windows Management
Instrumentation (WMI) class
MSIL Assembler (Ilasm.exe) Generates a PE file from Microsoft Intermediate
Language (MSIL)
MSIL Disassembler (Ildasm.exe) Produces a MSIL source file from a Portable
Executable (PE) file
Resource File Generator tool (Resgen.exe) Converts text files and resx (XML-based resource
format) files to NET Common Language Runtime binary resources files that can be embedded in a runtime binary executable or compiled into satellite assemblies
Windows Forms ActiveX Control Importer
(Aximp.exe)
Converts type definitions in a COM type library for
an ActiveX control into a Windows Forms control Windows Forms Class Viewer (Wincv.exe) Finds managed classes matching a specified search
pattern, and displays information about those classes using the Reflection API
Windows Forms Resource Editor (Winres.exe) Allows you to quickly and easily localize the
Windows Forms forms in your application using
a GUI tool
TABLE B-4 The NET Framework SDK General Tools
Composite Default screen
Trang 66 Appendix B: Command-Line Utilities
CertPrs8 / MCAD/MCSD XML Web Services and Server Components Development with Visual Basic NET / Lind /
222653-6 / Appendix B
After installation, the Visual Basic NET compiler is available from the command prompt to create Portable Executable (PE) files from your source files (see the previous
“Command Utilities” section for information on how to set up the environment for use with command-line tools).
Using the Visual Basic NET Compiler (vbc.exe) is rather complicated because it has a large family of command-line options that control the behavior of the compiler The next section will give you an overview of most of the command-line switches that are available.
Command-Line Syntax
In Table B-5, you can see all the command-line switches understood by the Visual Basic NET compiler To get an instant listing of the command-line switches, you need only execute the vbc.exe program with the /help switch to produce the following listing:
C:\>vbc /help Microsoft (R) Visual Basic NET Compiler version 7.00.9466 for Microsoft (R) NET Framework version 1.00.3705.209 Copyright (C) Microsoft Corporation 1987-2001 All rights reserved
Visual Basic NET Compiler Options
OUTPUT FILE -/out:<file> Specifies the output file name
/target:exe Create a console application (default)
(Short form: /t) /target:winexe Create a Windows application
Option Description
@ Specify a response file
/? List compiler options to stdout
/addmodule Specify one or more modules to be part of this assembly
/baseaddress Specify the preferred base address at which to load a DLL
/bugreport Create a file that contains information that makes it easy to report a bug
/checked Specify whether integer arithmetic that overflows the bounds of the data
type will cause an exception at run time
/codepage Specify the code page to use for all source-code files in the compilation
TABLE B-2 The vbc.exe Command-Line Switches
Composite Default screen
Trang 7Visual Basic NET Compiler (vbc.exe) 7
CertPrs8 / MCAD/MCSD XML Web Services and Server Components Development with Visual Basic NET / Lind /
222653-6 / Appendix B
Option Description
/debug Emit debugging information
/define Define preprocessor symbols
/doc Process documentation comments to an XML file
/filealign Specify the size of sections in the output file
/fullpaths Specify the absolute path to the file in compiler output
/help List compiler options to stdout
/incremental Enable incremental compilation of source-code files
/lib Specify the location of assemblies referenced via /reference
/linkresource Create a link to a managed resource
/main Specify the location of the Main() method
/nologo Suppress compiler banner information
/nostdlib Do not import standard library (mscorlib.dll)
/noconfig Do not compile with the global or local versions of vbc.rsp
/nowarn Suppress the compiler’s ability to generate specified warnings
/optimize Enable or disable optimizations
/out Specify output file
/recurse Search subdirectories for source files to compile
/reference Import metadata from a file that contains an assembly
/resource Embed a NET Framework resource into the output file
/target Specify the format of the output file using one of four options:
/target:exe /target:library /target:module /target:winexe /unsafe Compile code that uses the unsafe keyword
/utf8output Display compiler output using UTF-8 encoding
/warn Set warning level
/warnaserror Promote warnings to errors
/win32icon Insert an ico file into the output file
/win32res Insert a Win32 resource into the output file
TABLE B-5 The vbc.exe Command-Line Switches (continued)
Composite Default screen
Trang 8The Visual Basic NET compiler commands can be typed in at the command-line prompt or as part of command files used to build the application The following examples are executed from the command prompt:
■ Compiles File.vb producing File.exe:
vbc File.vb
■ Compiles File.vb producing File.dll:
vbc /target:library File.vb
■ Compiles File.vb and creates Hence.exe:
vbc /out:Hence.exe File.vb
■ Compiles all of the Visual Basic NET files in the current directory, with optimizations on and defines the DEBUG symbol The output is File2.exe:
vbc /define:DEBUG /optimize /out:File2.exe *.vb
■ Compiles all of the Visual Basic NET files in the current directory, producing a debug version of File2.dll No logo and no warnings are displayed:
vbc /target:library /out:File2.dll /warn:0 /nologo /debug *.vb
■ Compiles all of the Visual Basic NET files in the current directory to Thusly.hence (a DLL):
vbc /target:library /out:Thusly.hence *.vb
8 Appendix B: Command-Line Utilities
CertPrs8 / MCAD/MCSD XML Web Services and Server Components Development with Visual Basic NET / Lind /
222653-6 / Appendix B Composite Default screen