C#: .NET: VS

.NET Array Collections File String Async Cast DataTable DateTime Dictionary Enum Exception For Foreach IEnumerable If IndexOf Lambda LINQ List Parse Path Process Property Regex Replace Sort Split StringBuilder Substring Switch Tuple

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

Cover-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.