The .NET 2.0 SDK Programs - What does each tool do?
My question is simple. What do they do?
The accepted answer below is a list of the .NET SDK Tools that come in the framework.
Solution 1:
This answer covers brief descriptions and links to all the .NET SDK tools. Please feel free to edit if you have any additional information, or know of any missing tools.
al.exe - The Assembly Linker generates a file with an assembly manifest from one or more files that are either modules or resource files. A module is a Microsoft intermediate language (MSIL) file that does not have an assembly manifest. If you have one or more modules (metadata without a manifest), you can use this to create an assembly with the manifest in a separate file.
apatch.exe - Uses the Delta Compression API, and it specifically uses knowledge of PE files to improve the compression techniques. It's part of the windows installer technologies. Advantages: Smaller than releasing the new DLL; The patch is only useful if the audience has the original DLL. So you can freely release the patch without worry about piracy.
aspnet_merge.exe - The ASP.NET Merge tool enables you to combine and manage assemblies that are created by the ASP.NET Compilation tool (Aspnet compiler). The ASP.NET Merge tool works on assemblies that have been created by using ASP.NET version 2.0 or later. This enables the following: Create one assembly for the whole Web site; Create an assembly for each Web site folder, and add a prefix to the assembly name; Create a single assembly for just the Web site user interface (UI) elements, such as pages and controls.
AxImp.exe - The ActiveX Control Importer converts type definitions in a COM type library for an ActiveX control into a Windows Forms control. Windows Forms can only host Windows Forms controls — that is, classes that are derived from Control. It generates a wrapper class for an ActiveX control that can be hosted on a Windows Form. This allows you to use the same design-time support and programming methodology applicable to other Windows Forms controls.
Cert2Spc.exe - The Software Publisher Certificate Test tool creates a Software Publisher's Certificate (SPC) from one or more X.509 certificates. This is for test purposes only. You can obtain a valid SPC from a Certification Authority such as VeriSign or Thawte.
checkv4.exe - The Checkv4 utility is designed to provide you with a code porting partner; a utility that steps through your code base with you, identifies potential problems or highlights code that could benefit from IPv6-capable functions or structures, and makes recommendations. With the Checkv4 utility, the task of modifying an existing IPv4 application to support IPv6 becomes much easier
clrver.exe - Detect which versions of the .NET Framework common language runtime (CLR) are installed on a computer.
Consume.exe - This command line tool can consume system resources for a specified amount of time and is useful for reproducing errors that might be caused by resource starvation. The resources it can consume include physical memory, page file space, disk space, kernel pool, and CPU time. As an example, start Windows Task Manager (Start->Run->taskmgr.exe) and select the Performance tab. Next, open the Windows SDK CMD window (Start->All Programs->Windows SDK v6.1->CMD Shell) and enter the following “consume.exe -cpu-time -time 15”. You’ll see the CPU Usage History chart(s) climb to maximum for 15 seconds.
cordbg.exe - The Runtime Debugger helps tools vendors and application developers find and fix bugs in programs that target the .NET Framework common language runtime. This tool uses the runtime Debug API to provide debugging services. Developers can examine the code to learn how to use the debugging services. Currently, you can only use Cordbg to debug managed code; there is no support for debugging unmanaged code.
CorFlags.exe - The CorFlags Conversion tool allows you to configure the CorFlags section of the header of a portable executable image. It is a utility used to change certain header properties of .NET executables. Most commonly it's used to change the processor architecture of a .NET DLL.
ctrpp.exe - The CTRPP tool is a pre-processor that parses and validates your counters manifest. The tool also generates code that you use to provide your counter data. You should use the generated code as a starting point when developing your provider instead of trying to generate this code yourself.
disco.exe - The Web Services Discovery tool discovers the URLs of XML Web services located on a Web server and saves documents related to each XML Web service on a local disk.
DUMPBIN.exe - A utility that dumps various aspects of an executable image or .obj file (imports, exports, information in the header, etc). The Microsoft COFF Binary File Dumper displays information about 32-bit Common Object File Format (COFF) binary files. You can use DUMPBIN to examine COFF object files, standard libraries of COFF objects, executable files, and dynamic-link libraries (DLLs).
ECManGen.exe - The ECManGen tool uses a GUI that guides you through creating a manifest from scratch without ever having to use XML tags.
fdbrowser.exe - The Function Discovery Browser is a utility that displays function instances on a local machine using a graphical user interface. Developers can use this tool to ensure that the function instances and metadata available on a machine match the expected results.
FUSLOGVW.exe - The Assembly Binding Log Viewer displays details for failed assembly binds. This information helps you diagnose why the .NET Framework cannot locate an assembly at run time. These failures are usually the result of an assembly deployed to the wrong location or a mismatch in version numbers or cultures.
gacutil.exe - Registers an assembly in the Global Assembly Cache (GAC).
genmanifest.exe - Genmanifest is a command-line program that creates a manifest.
graphedt.exe - GraphEdit is a visual tool for building and testing filter graphs. It is provided as an executable with the DirectX SDK. With GraphEdit, you can quickly build and test filter graphs to see if they function as you expect. You can even view a filter graph created by an application running in another process.
guidgen.exe - The Guidgen Tool creates new globally unique identifiers (GUIDs). GUIDs are a Microsoft implementation of the Universally Unique Identifiers (UUIDs) standard. These are unique, 128-bit values used to identify items uniquely.
ildasm.exe - Intermediate Language Disassembler. You can view your compiled code at the MSIL level with this tool.
isXPS.exe - The isXPS Conformance tool tests a file's conformity to the XML Paper Specification (XPS) and the Open Packaging Conventions (OPC) Specification.
lc.exe - The License Compiler reads text files that contain licensing information and produces a .licenses file that can be embedded in a common language runtime executable as a resource.
mage.exe - The Manifest Generation and Editing Tool is a command-line tool that supports the creation and editing of application and deployment manifests. This can be run from both batch scripts and other Windows-based applications, including ASP.NET applications.
mageui.exe - Supports the same functionality as the command-line tool Mage, but with a Windows-based user interface (UI). With this tool you can create, edit, and sign deployment and application manifests.
make-shell.exe - You can continue to create a separate custom shell (or minishell) using make-shell to include all the cmdlets & providers you've written. And in fact for packaging reasons you may still want to do that. Custom shells allow you to customize the environment thru startup/built-in scripts, custom types/format files and a separate authorization manager. So if you want a tightly controlled environment, you may want to stick with the custom shell.
makecert.exe - The Certificate Creation tool generates X.509 certificates for testing purposes only. It creates a public and private key pair for digital signatures and stores it in a certificate file. This tool also associates the key pair with a specified publisher's name and creates an X.509 certificate that binds a user-specified name to the public part of the key pair.
Mdbg.exe - The NET Framework Command-Line Debugger helps tools vendors and application developers find and fix bugs in programs that target the .NET Framework common language runtime. This tool uses the runtime Debug API to provide debugging services. Developers can examine the code to learn how to use the debugging services. Currently, you can use MDbg to debug only managed code; there is no support for debugging unmanaged code.
mgmtclassgen.exe - The Management Strongly Typed Class Generator tool enables you to quickly generate an early-bound managed class for a specified Windows Management Instrumentation (WMI) class. The generated class simplifies the code you must write to access an instance of the WMI class
midl.exe/midlc.exe - Given an IDL file that defines one or more COM interfaces and a type library, the MIDL compiler generates the files described in the following table as the default output.
MsiCert.exe - MsiCert is a command line utility that can be used to populate the MsiDigitalSignature table and MsiDigitalCertificate table with the digital signature information of an external cabinet file. The cabinet file must by digitally signed and listed in the Media table. MsiCert uses the signer certificate information from the digitally signed cabinet and will create and add the MsiDigitalSignature and MsiDigitalCertificate tables to the database if they do not already exist.
mt.exe - The Mt file is a tool that generates signed files and catalogs. Mt requires that the file referenced in the manifest be present in the same directory as the manifest. Mt generates hashes using the CryptoAPI implementation of the Secure Hash Algorithm (SHA-1). Hashes are inserted as a hexadecimal string into the tags in the manifest. The tool currently only generates SHA-1 hashes, although files in manifests may use other hashing schemes.
perflibmig.exe - Perflibv2 Migrator, used to implement or migrate perflibv2 onto a manifest file. The PerflibV2 interface is a set of methods that the client can use to enumerate performance counter metadata and query performance counter values on a server. The client can view all the counters that are installed on the system. After the client has decided which performance counters are of interest, it can open a query on the server and add the necessary counters. The client then queries these counters, upon which the server returns the values of the counters that are specified by the client. The client closes the query on the server once it has queried the counters for the necessary duration.
PermCalc.exe - The Minimum Grant Set Determination tool is used to estimate the permissions callers must be granted to access the public entry points of an assembly. This tool is new in the .NET Framework version 2.0. It is intended for use by advanced users.
PEVerify.exe - The PEVerify tool helps developers who generate Microsoft intermediate language (MSIL) (such as compiler writers, script engine developers, and so on) to determine whether their MSIL code and associated metadata meet type safety requirements. Some compilers generate verifiably type-safe code only if you avoid using certain language constructs. If, as a developer, you are using such a compiler, you may want to verify that you have not compromised the type safety of your code. In this situation, you can run the PEVerify tool on your files to check the MSIL and metadata.
ptconform.exe - Validates a Print Ticket or Print Capabilities document for conformance to the Print Schema. The Print Schema provides an XML-based format for expressing and organizing a large set of properties that describe either a job format or capabilities of a print queue in a hierarchically structured manner. The PrintSchema has well-defined public framework elements and public keywords. PTConform reads through an XML document and tests each node to be a valid public framework element. After testing for validity of the framework element, this test checks to see if it defines any public keyword element and checks for the keyword to conform to the PrintSchema.
pvk2pfx.exe - Tool used to be able to generate .pfx files from Code Signing certificates from authorized CA's to be used in applications.
ResGen.exe - The Resource File Generator converts text (.txt or .restext) files and XML-based resource format (.resx) files to common language runtime binary (.resources) files that can be embedded in a runtime binary executable or compiled into satellite assemblies.
sddlgen.exe - The security descriptor definition language (SDDL) defines the string format that the ConvertSecurityDescriptorToStringSecurityDescriptor and ConvertStringSecurityDescriptorToSecurityDescriptor functions use to describe a security descriptor as a text string. The language also defines string elements for describing information in the components of a security descriptor. I am going to give a little guess here and say this tool is a generator for this purpose. Please check the link for more information on SDDL.
SecUtil.exe - This tool extracts strong name information or the public key for an X.509 certificate from an assembly and converts this information into a format that can be incorporated into code.
SetReg.exe - The Set Registry tool allows you to change the registry settings for public key cryptography. These keys, called the Software Publishing State Keys, control the behavior of the certificate verification process. After Setreg completes the requested action, it displays the current values of the Software Publishing State Keys.
sgen.exe - The XML Serializer Generator creates an XML serialization assembly for types in a specified assembly in order to improve the startup performance of a XmlSerializer when it serializes or deserializes objects of the specified types.
signtool.exe - The Sign Tool is a command-line tool that digitally signs files, verifies signatures in files, or time stamps files.
sn.exe - StrongName tool. Allowing you to generate Strong Name keys for your assemblies, also catering for signatures.
SoapSuds.exe - The Soapsuds tool helps you compile client applications that communicate with XML Web services using a technique called remoting. Soapsuds performs the following functions: It creates XML schemas that describe services that are exposed in a common language runtime assembly; It creates runtime assemblies to access services that are described by XML schemas. A schema definition can be a local file or it can be dynamically downloaded from the Internet.
SqlMetal.exe - It builds a DBML file from a database schema for LINQ to SQL, and is used by Visual Studio to do the same. You use it to update your auto-generated context classes each time a schema change is made.
StoreAdm.exe - The Isolated Storage tool lists or removes all existing machine stores for the current user.
SvcConfigEditor.exe - The Windows Communication Foundation (WCF) Service Configuration Editor allows administrators and developers to create and modify configuration settings for WCF services using a graphical user interface. With this tool, you can manage settings for WCF bindings, behaviors, services, and diagnostics without having to directly edit XML configuration files.
SvcTraceViewer.exe - Windows Communication Foundation (WCF) Service Trace Viewer Tool helps you analyze diagnostic traces that are generated by WCF. Service Trace Viewer provides a way to easily merge, view, and filter trace messages in the log so that you can diagnose, repair, and verify WCF service issues.
SvcUtil.exe - The ServiceModel Metadata Utility tool is used to generate service model code from metadata documents and metadata documents from service model code.
TB3x.exe - TB3x.exe is a TAPI browser - but it is now deprecated from the Windows SDK. On Wikipedia, the following was said, giving a hint toward the deprecation of the file: "One very notable issue with TAPI 3.x is the lack of support for managed code (.NET environment). As documented in Microsoft KB Article 841712, Microsoft currently has no plans to support TAPI 3.x directly from .NET programming languages."
tcpanalyzer.exe - This tool displays a constantly updating list of all network connections in and out of your machine. It allows you to zero in on a particular connection and log performance information for that connection. It gives you the information needed to pin down network related delays or unexpected high traffic that might be slowing the network connection.
TlbExp.exe - The Type Library Exporter generates a type library that describes the types defined in a common language runtime assembly.
TlbImp.exe - Type library importer, allowing for items in COM to be visible to the CLR.
tracefmt.exe - Tracefmt is a command-line tool that formats and displays trace messages from an event trace log file (.etl) or a real-time trace session. Tracefmt can display the messages in the Command Prompt window or save them in a text file. Tracefmt uses the formatting instructions in a trace message format (TMF) file to convert the binary trace messages to human-readable format. You can provide a TMF file or provide the image file for the trace provider and have Tracefmt create a TMF file.
tracepdb.exe - Tracepdb is a command-line tool that creates trace message format (.tmf) files by extracting trace message formatting instructions from the full or private PDB symbol file for a trace provider that uses WPP software tracing macros.
tracewpp.exe - WPP software tracing in kernel-mode drivers supplements and enhances WMI event tracing by adding conventions and mechanisms that simplify tracing a driver's operation. It is an efficient mechanism for user-mode applications and kernel-mode drivers to log real-time binary messages. The logged messages can subsequently be converted to a human-readable trace of the driver's operation.
validatesd.exe - Used to ensure that service descriptions are valid. Seems to be intended for use with the IUPnPRegistrar::RegisterDevice Method.
VirtualSideShow.exe - The Microsoft Windows Software Development Kit includes the Device Simulator 3.0 for Windows SideShow. This simulator is a program that simulates a Windows SideShow–compatible device built on the Microsoft .NET Micro Framework firmware solution, so that developers of gadgets for SideShow can test their gadgets without physical hardware.
WCA.exe - The workflow communication activity command-line utility is used to generate code files for the strictly-bound HandleExternalEventActivity activity and CallExternalMethodActivity activity derived classes from an input assembly that contains one or more ExternalDataExchangeService interfaces. For each method and event on each interface in the assembly, an activity is created with strongly-typed properties that correspond to the method/event parameters. These strictly-bound activities improve the design experience through strong typing and yield a small performance increase by removing the use of reflection.
WFC.exe - The workflow command-line compiler is used to compile both workflows and activities. It takes workflow markup (.xoml) and C# or Visual Basic source files, validates the workflows or activities, and generates assemblies or executables.
WiLogUtl.exe - Wilogutl assists the analysis of log files from a Windows Installer installation, and it displays suggested solutions to errors that are found in a log file.
WindowsSideShowVirtualDevice.exe - This is the device driver emulator for Windows SideShow devices (Vista Based). Windows Vista supports the ability to communicate with one or more auxiliary display devices. These auxiliary display devices can come in all kinds of shapes and sizes with varying capabilities. Many of these devices have not yet been manufactured, but should be available soon.
WinRes.exe - The Windows Forms Resource Editor, Winres, is a visual layout tool that helps localization experts localize Windows Forms user interface (UI) resources used by forms. The .resx or .resources files that are used as input to Winres can be created using a visual design environment such as Microsoft Visual Studio.
wsdl.exe - Utility to generate code for xml web service clients and xml web services using ASP.NET from WSDL contract files, XSD schemas and .discomap discovery documents. This tool can be used in conjunction with disco.exe
XamlPad.exe - A program for editing XAML files for the WPF platform. (3.5)
xsd.exe - The XML Schema Definition tool generates XML schema or common language runtime classes from XDR, XML, and XSD files, or from classes in a runtime assembly.
xsltc.exe - The XSLT compiler compiles XSLT style sheets and generates an assembly. The compiled style sheet can then be passed directly into the
XslCompiledTransform.Load(Type)
method. You cannot generate signed assemblies with xsltc.
Solution 2:
Have a look at the MSDN pages for the SDK tools. It has a comprehensive list of the tools that ship with the .NET Framework SDK, and an explanation of what each tool does.