Is there a way to conditionally embed resources into a .NET project? I.e. if I have defined INCLUDETHIS then I want a certain large file embedded into the dll, otherwise I do not want it embedded. I know I can make two projects to do this, but I'm hoping to do it all in one project. The code that uses the file is easily conditioned with a #if INCLUDETHIS ... #endif, but I don't even want the file in the dll otherwise as it contains sensitive information and is only used internally.
This did the trick. You can edit your csproj by right clicking in Visual Studio on the project and selecting "edit".
<Choose>
<When Condition=" '$(Configuration)'!='ReleaseExternal' And '$(Platform)'=='x86' ">
<ItemGroup>
<EmbeddedResource Include="file.dll">
<Link>Resources\Other\file.dll</Link>
</EmbeddedResource>
</ItemGroup>
</When>
</Choose>