Blue Theme Orange Theme Green Theme Red Theme
 
DevExpress Free UI Controls
Home | Forums | Videos | Photos | Blogs | Beginners | Advertise with Us
 | Consulting  
Submit an Article Submit a Blog 
 Jump to
Skip Navigation Links
TechnologyExpand Technology
WebsiteExpand Website
DevExpress UI Controls
Search :       Advanced Search »
Home » VB.NET » Build a .NET solution or project from the command line using VB.NET

Build a .NET solution or project from the command line using VB.NET

Devenv allows you to set various options for the integrated development environment (IDE) as well as compile, build, and debug projects from the command line. Use these switches to run the IDE from a script or .bat file, such as a nightly build script, or to launch the IDE in a particular configuration.

Page Views : 29922
Downloads : 135
Rating :
 Rate it
Level : Beginner
   Print Read/Post comments Post a comment  Similar Articles  
   Email to a friend  Bookmark  Author's other articles  
Download Files:
RemotePost.zip
 
 
6 Months Free & No Setup Fees ASP.NET Hosting!
Become a Sponsor
Become a Sponsor
 Tag Cloud
 Latest Jobs
More ... 
 Latest Interview Questions
More ... 

Introduction.

I take this opportunity to write about the Command line switches for making our .NET Project Release Builds with out much fuss. The Reason am writing this is that this topic mentioned above is much ignored topic across .NET developers circles. ...

Devenv Command Line Switches.

Devenv allows you to set various options for the integrated development environment (IDE) as well as compile, build, and debug projects from the command line. Use these switches to run the IDE from a script or .bat file, such as a nightly build script, or to launch the IDE in a particular configuration.

Tip To have Visual Studio launch and open a single file automatically in an editor, enter the full path and file name after typing Devenv with no additional switches or arguments. For example, devenv "D:\TestWinApp\testWinApp\testWinApp\ testWinApp.csproj".



Suppose if you give a wrong path of a solution file then the following Error Message will be thrown.



Devenv Switch Syntax.

Switches for Devenv follow syntax rules that are very similar to other DOS command line utilities. Devenv command line switches work for devenv.com and devenv.exe. By default, entering devenv without a file extension passes switches to devenv.com. Using devenv.com provides the correct delivery of output using standard system streams, such as stdout and stderr, and correct I/O redirection for capturing output, such as in a .txt file. To pass switches to devenv.exe, you must specify devenv.exe. All of the syntax rules listed below apply to devenv.com.

Tip The switch /? Displays a list of the available switches in the Command Prompt window for Devenv along with descriptions of their uses.

The following syntax rules apply to all switches and arguments:

The command line syntax must start with devenv. For example, to use the /fn switch you would type the following: 

devenv /fn arial

Switches are not case sensitive.

The first argument is typically a solution file name.

When you supply a project file name instead of a solution file name, Devenv does the following:

Searches the parent directory of the project file for a solution file of the same name. For example, if you specify myproject1.vbproj, Devenv looks for myproject1.sln.

Searches for a single solution file with a reference to the project file in the parent directory of the project file. If more than one solution references the project file or no solutions reference the project file, a temporary solution with the same name as the project file is created.

File paths and file names that include spaces must be enclosed in double quotation mark ("").

Include the drive letter when specifying file paths.

Separate multiple switches and arguments with one white space character.

Devenv does not accept wildcards or other pattern matching syntax.

Devenv Switches.

Use the following command line switches to display the integrated development environment and perform the described task.

Command Line

Switch Description

/lcid or /l Sets the default language for the IDE.
/fn Changes the system font for the IDE.
/fs Changes the system font size for the IDE.
/run or /r Compiles and runs the specified solution.
/runexit Compiles and runs the specified solution, minimizing the IDE when the solution is run, and closing the IDE after the solution has completed running.
/mdi Opens the IDE in multiple-document interface (MDI) mode. In addition, the MDI environment option in the Options dialog box is selected. For more information, see General, Environment, Options Dialog Box.
/mditabs Opens the IDE in MDI mode with the tabs on documents enabled.
/command Starts the IDE and executes the specified command.
/migratesettings Opens the IDE and copies certain Options dialog box settings from a pervious version to the more recent version.
/debugexe Loads a Visual C++ executable under the control of the debugger. This switch is not available for Visual Basic or Visual C# executables. For more information, see Launching the Debugger Automatically.
/useenv Causes the integrated development environment (IDE) to use PATH, INCLUDE, and LIB environment variables for Visual C++ compilation rather than the settings specified in the VC++ Directories section of Projects options in the Options dialog box. For more information, see Setting the Path and Environment Variables for Command-Line Builds.
  
Use the following command line switches to perform the described task. These command line switches do not display the integrated development environment.

Command Line

Switch Description

/build Builds the specified solution or project according to the specified solution configuration.
/rebuild Cleans and then builds the specified solution or project according to the specified solution configuration.
/project The project to build, clean, or deploy. You can use this switch only if you have supplied the /build, /rebuild, /clean, or /deploy switch.
/projectconfig Specifies the project configuration to build or deploy. You can use this switch only if you have supplied the /project switch.
/clean Cleans the specified solution or project according to the specified solution configuration.
/deploy Causes deployment after a build (or a rebuild) according to the specified solution configuration.
/out Allows you to specify a file to receive errors when you build.
/nologo Prevents copyright information from displaying.
/? Displays help inside the Command Prompt window for Devenv switches.

The following switches are available only to those companies who participate in the Visual Studio .NET Integration Program (VSIP).

Command Line

Switch Description

/noVSIP Disables the VSIP developer's license key on a developer workstation.
/safemode Launches Visual Studio in safe mode, loading only the default environment and services.
/resetskippkgs Clears all SkipLoading tags added to VSPackages by users wishing to avoid loading problem VSPackages

Let us take a look at Some of switches.

1) /Build -

devenv /build ConfigName [/project ProjName] [/projectconfig ConfigName] SolutionName

  Arguments.

ConfigName 

      Required. The solution configuration name.
 
SolutionName

      Required. The path and name of the solution. If you want to build a single project configuration, use the /project ProjName argument to specify which project to build and optionally supply the /projectconfig
      configandplatformname argument.

/project ProjName

      Optional. The project file name, as an absolute path or a relative path from the directory containing the solution file. You can also specify the project display name. Use this argument to build a single project within a solution with multiple projects.

/projectconfig ConfigName

      Optional. The name of the build configuration.
 
  Remarks.

  • This switch is the same as Build Solution (CTRL + SHIFT + B) available within the IDE.
  • Paths that include spaces must be enclosed in double quotation marks.
  • Summary information for builds, including errors, appears in the Command Prompt window or in any log file specified with the /out argument.

Run the the following command in Visual command Prompt.

devenv /build Debug "<Path-Of-the-Solution-File>"

This Command will build the Solution in the Debug Mode.

Here is the output.



2) /out.

Allows you to specify a file to receive errors when you build using the command line arguments.

devenv /out FileName.

   Arguments.

FileName
      Required. The path and name of the file to receive errors when you build an executable.  

  Remarks.

  • If a file name that does not exist is specified, the file is created automatically. If the file already exists, the contents are deleted before running the current build. 

Command line build errors are displayed in the Command Prompt window and the Solution Builder view of the Output window. This option is useful if you are running unattended builds and need to see the results.

devenv /run /out "c:\MyErrorLog.txt" "D:\CUT1.3\POSClient\POSClient.sln"

the output of the command from MyErrorLog.txt which got created under C:\ , Becoz of build problems of PosClient Solution.

------ Build started: Project: POS, Configuration: Debug .NET ------

Preparing resources...
Updating references...
The dependency 'POSUI' could not be found.
The dependency 'Utility' could not be found.
The dependency 'ControllerInterface' could not be found.
The dependency 'HECUIControls' could not be found.
The dependency 'CommonDataEntity' could not be found.
Cannot copy assembly 'ProcessController' to file 'D:\CUT1.3\deploymentarea\apps\posclient\ProcessController.dll'. The process cannot access the file because it is being used by another process.
Performing main compilation...
D:\CUT1.3\POSClient\POS\ProcessController\Generic\ApplicationController.cs(17,46): error CS0234: The type or namespace name 'Partner' does not exist in the class or namespace 'HEC.POS.Presentation.ProcessController' (are you missing an assembly reference?)

Build complete -- 1 errors, 0 warnings
Building satellite assemblies...

---------------------- Done ----------------------

Build: 22 succeeded, 6 failed, 0 skipped.

3) Lot of other Command line Switches like Release , Re-Build according to the Requirement and need.

Important Tips.

1) You can make all these commands as a Batch Process (Batch File) and you can deploy your Release Builds with out much fuss and in much lesser time. It will save a lot of time for Configuration Managers and Developers.

2) Build Process for .Net Developers they can easily build there project with out opening the solutions with Windows Script using Shell Commands. if there are any bugs while building it will create file called status.txt and states bugs in that. The Next Article I will be writing more about it.

3) Another Important point I want to make is that if we Consolidate all these command into a Single Batch file , then it will be very much helpful for us in making our Release Builds....

Advantages.

1) We hope to make many aspects of? Devenv /build? a little easier to use, but hopefully this information will make this feature less mystifying for the next time you want to use it.

2) If you look at the time it takes for loading the VS.Net projects and building. Using these Command line switches is comparably lot less then manual loading (Start->Programs->Visual Studio for .NET) of VS.Net project solutions and building. On the whole it will make the process of Building the Solutions much faster.

NOTE: THIS ARTICLE IS CONVERTED FROM C# TO VB.NET USING A CONVERSION TOOL. ORIGINAL ARTICLE CAN BE FOUND ON C# CORNER (WWW.C-SHARPCORNER.COM).

Comment Request!
Thank you for reading this post. Please post your feedback, question, or comments about this post Here.
Login to add your contents and source code to this article
 [Top] Rate this article
 
 About the author
 
tharakram
Tharak Ram is a Designer Analyst, Working in a Reputed CMM level 5 company. He has been working with .NET technology since pre beta releases.
Looking for C# Consulting?
C# Consulting is founded in 2002 by the founders of C# Corner. Unlike a traditional consulting company, our consultants are well-known experts in .NET and many of them are MVPs, authors, and trainers. We specialize in Microsoft .NET development and utilize Agile Development and Extreme Programming practices to provide fast pace quick turnaround results. Our software development model is a mix of Agile Development, traditional SDLC, and Waterfall models.
Click here to learn more about C# Consulting.
 
Introducing MaxV - one click. infinite control. Hyper-V Hosting from MaximumASP.
Finally – a virtual platform that delivers next-generation Windows Server 2008 Hyper-V virtualization technology from a managed hosting partner you can truly depend on. Visit www.maximumasp.com/max for a FREE 30 day trial. Hurry offer ends soon. Climb aboard the MaxV platform and take advantage of High Availability, Intelligent Monitoring, Recurrent Backups, and Scalability – with no hassle or hidden fees. As a managed hosting partner focused solely on Microsoft technologies since 2000, MaximumASP is uniquely qualified to provide the superior support that our business is built on. Unparalleled expertise with Microsoft technologies lead to working directly with Microsoft as first to offer IIS 7 and SQL 2008 betas in a hosted environment; partnering in the Go Live Program for Hyper-V; and product co-launches built on WS 2008 with Hyper-V technology.
Dynamic PDF
ceTE software specializes in components for dynamic PDF generation and manipulation. The DynamicPDF™ product line allows you to dynamically generate PDF documents, merge PDF documents and new content to existing PDF documents from within your applications.
Discover the top 5 tips for understanding .NET
Ricky Leeks presents the top 5 tips for understanding .NET Interoperability. Learn more.
Nevron Chart for .NET 2010.1 Now Available
The leading .NET charting control now features PDF, Flash and Silverlight export, visualization of large datasets and more. Deliver true charting functionality to your BI, Scorecard, Presentation or Scientific apps. Download evaluation now.
ASP.NET 4 Hosting
Get 2 Months Free of ASP.NET Hosting for Only $4.95/month! Receive FREE MS SQL and MySQL Databases Including ASP.NET 4/3.5, MVC 3.0, Silverlight 4, Windows 2008/IIS 7.0 Plus FREE IIS 7 Modules. Host UNLIMITED ASP.NET Web Sites – Click Here!
 
 Post a Feedback, Comment, or Question about this article
Subject:
Comment:
Mindcracker MVP Summit 2012
Become a Sponsor
 Comments
how to Build a .NET solution or exe creation from the command line using Microsoft Visual Basic 2008 express edition by sherin On May 29, 2009
thanks for the information.

how to create a exe of vb.net project from the
 command line using Visual Basic 2008 express edition.

with advance thanks,
sherin
Reply | Email | Modify 
Build Get Skipped Always by Mukesh On June 23, 2009
build get skipped always.  any idea why ?

msbuild working fine. i am building a web application.
Reply | Email | Modify 
Discover the top 5 tips for understanding .NET Interop
 © 2012  contents copyright of their authors. Rest everything copyright Mindcracker. All rights reserved.