Custom MSBuild Task Development with Visual C++ Oregon

Visual C++ 2010 sees the integration of MSBuild with Visual C++. MSBuild is Microsoft's common build engine and one of its key design goals is the ability to support a high-degree of flexibility in customizing the build process. See how a custom MSBuild task can be built in Visual C++, and how the task can be used to customize the build process of other Visual C++ 2010 projects.

Local Companies

Mt. Hood Computer Services, Inc.
(503) 262-9300
11300 NE Halsey Street
Portland, OR
WhizKids IT
(503) 764-1441
5319 SW Westgate Drive, Suite #224
Portland, OR
UplinkSpyder
541-513-8173
www.uplinkpsyder.com
Eugene, OR
Whizkids, LLC
888-830-8884
5319 SW Westgate Dr
Portland, OR
Gorge Networks
541-386-8300
616 Industrial Way
Hood River, OR
IVS Computer Technology
360-593-4385
5933 NE Win Sivers
Portland, OR
Radius Servers
541.350.6003
Bend, OR
UplinkSpyder
(541) 513-8173
1576 Larkspur Loop
Eugene, OR
Comotiv Systems
(503) 224-7496
111 S.W. Columbia, #950
Portland, OR
Embarq
1-800-877-1125
902 Wasco
Hood River, OR

The introduction of MSBuild in Visual C++ 2010 opens up the C++ compilation and linking process to a high degree of customization and extension. Prior to MSBuild, the build process could only be extended with pre- and post-build steps that offered limited flexibility and were decoupled from the rest of the build process. In contrast, MSBuild allows fine-tuned, integrated extension, and any new-format Visual C++ project file (vcxproj) can be customized to complete whatever task is required during a build.

In my last Using Visual C++.NET article, MSBuild basics were covered, including Tasks, which are the building-blocks of the build process. Tasks take items and properties to complete some action, and tasks are chained together in targets, with targets being the entry point into a MSBuild file. MSBuild and Visual C++ ship with a large number of predefined tasks, but in the spirit of MSBuild extensibility, custom task development is extremely easy with helper classes present in the MSBuild assemblies. The remainder of this article will cover the process of building a custom MSBuild task in C++/CLI and then using this task in a Visual C++ 2010 project.



Developing the Hard Link Task



The NT File System (NTFS) supports a feature known as hard links, which allows multiple directory entries to map to the same underlying file. Hard links have a number of advantages over simply copying a file, with the main advantage being that, because all directory entries point to the same physical file, an update to the file is automatically available to all consumers of the file regardless of which directory entry the file is accessed through. Using hard links also conserves disk space, as multiple copies of the same file are not scattered randomly across a drive.

Read the Rest of this Article at Developer.com

Featured Local Company

IVS Computer Technology

360-593-4385
5933 NE Win Sivers
Portland, OR

Regional Articles
- Custom MSBuild Task Development with Visual C++ Albany OR
- Custom MSBuild Task Development with Visual C++ Beaverton OR
- Custom MSBuild Task Development with Visual C++ Bend OR
- Custom MSBuild Task Development with Visual C++ Canby OR
- Custom MSBuild Task Development with Visual C++ Central Point OR
- Custom MSBuild Task Development with Visual C++ Clackamas OR
- Custom MSBuild Task Development with Visual C++ Coos Bay OR
- Custom MSBuild Task Development with Visual C++ Corvallis OR
- Custom MSBuild Task Development with Visual C++ Eugene OR
- Custom MSBuild Task Development with Visual C++ Forest Grove OR
- Custom MSBuild Task Development with Visual C++ Grants Pass OR
- Custom MSBuild Task Development with Visual C++ Gresham OR
- Custom MSBuild Task Development with Visual C++ Hermiston OR
- Custom MSBuild Task Development with Visual C++ Hillsboro OR
- Custom MSBuild Task Development with Visual C++ Hood River OR
- Custom MSBuild Task Development with Visual C++ Klamath Falls OR
- Custom MSBuild Task Development with Visual C++ La Grande OR
- Custom MSBuild Task Development with Visual C++ Lake Oswego OR
- Custom MSBuild Task Development with Visual C++ Lebanon OR
- Custom MSBuild Task Development with Visual C++ Mcminnville OR
- Custom MSBuild Task Development with Visual C++ Medford OR
- Custom MSBuild Task Development with Visual C++ Newberg OR
- Custom MSBuild Task Development with Visual C++ North Bend OR
- Custom MSBuild Task Development with Visual C++ Oregon City OR
- Custom MSBuild Task Development with Visual C++ Pendleton OR
- Custom MSBuild Task Development with Visual C++ Portland OR
- Custom MSBuild Task Development with Visual C++ Prineville OR
- Custom MSBuild Task Development with Visual C++ Roseburg OR
- Custom MSBuild Task Development with Visual C++ Salem OR
- Custom MSBuild Task Development with Visual C++ Springfield OR
- Custom MSBuild Task Development with Visual C++ The Dalles OR
- Custom MSBuild Task Development with Visual C++ Troutdale OR
- Custom MSBuild Task Development with Visual C++ Tualatin OR
- Custom MSBuild Task Development with Visual C++ West Linn OR
- Custom MSBuild Task Development with Visual C++ Wilsonville OR
- Custom MSBuild Task Development with Visual C++ Woodburn OR
Related Local Events
2010 InnoTech
Dates: 5/6/2010 - 5/6/2010
Location: Oregon Convention Center
Portland, OR
View Details

WOOD TECHNOLOGY CLINIC & SHOW 2010
Dates: 3/9/2010 - 3/11/2010
Location: Oregon Convention Center
Portland, OR
View Details

January Forum: The future of Portland's media industry
Dates: 1/20/2010 - 1/20/2010
Location: Governor Hotel
Portland, OR
View Details

2009 SC - International Conference for High Performance Computing, Networking, Storage and Analysis
Dates: 11/16/2009 - 11/19/2009
Location: Oregon Convention Center
Portland, OR
View Details

SC - Supercomputing - Computing and Networking Conference and Exhibition 2009
Dates: 11/14/2009 - 11/29/2009
Location: Oregon Convention Center
Portland, OR
View Details

Topics: 
Architecture & Design Languages & Tools Project Management Web Services
Database Microsoft & .NET Security Wireless
Java Open Source Techniques XML