C#: When is it worth specifying a BaseAddress in a project's properties?

Viewed 772

I'm creating a C# Library project with .NET 4 framework (this is a new project in an existing solution, in Visual Studio 2012). I see that some older existing projects are specifying BaseAddress of the DLL in project properties, for example (from .csproj file):

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
  <DebugSymbols>true</DebugSymbols>
  <OutputPath>bin\x86\Debug\</OutputPath>
  <DefineConstants>TRACE;DEBUG</DefineConstants>
  <BaseAddress>285212672</BaseAddress>
  <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
  <PlatformTarget>x86</PlatformTarget>
</PropertyGroup>

I understand what the base address means, but my question is what the advantage is of specifying the BaseAddress of the DLL, and under what circumstances should I consider doing it for the new library project, as opposed to just letting the compiler choose it?

1 Answers
Related