Visual Studio Macros

Macros make common tasks easier. We use post-build and pre-build macros in Visual Studio. Two projects may rely on each other but remain separate. We write a macro to copy files from one project to another after the first one is built.

Visual Studio pre-build macro

Macros

This approach offers one automated solution to making the two projects work together, at least in a primitive manner. We will copy the compiled DLL to the C# solution's directory. We will use the following command on the post-build event.

Example command 1

copy "{path1}DLLName.dll" "{path2}DLLName.dll"
DLL: Dynamic Link Library

The words including the quotes are actual paths, so they use the "\" character. This code runs whenever you build the DLL project. However, a different solution is probably better. Here is a command in the pre-build event.

Example command 2

copy "{path1}DLLName.dll" "$(ProjectDir)DLLName.dll"
Visual Studio logo

Visual Studio macros are essentially environment variables contained within parentheses, preceded by the "$" symbol—much like Perl. The green italics in the examples should be replaced.

Tip:You can add a macro to a build command by clicking on its name and clicking insert. Next are a couple example tokens.

Example macro syntax

$(ProjectDir)
$(TargetFileName)

Summary

Logo

We looked at an example post-build event in Visual Studio. One thing you can use pre-build and post-build events for is copying DLLs to different solutions at build time. This can automate some interactions between different projects.

Review:Here we saw a way to use these macros with a DLL after building a project.


C#: .NET: VS