I have three different configurations on my project, all three do not require all files to be build into the application. Actually I'd prefer if I could exclude those files from the build, which would make my application a little more lightweight.
What I'm looking for is #if MYCONFIG
or #if DEBUG
statement but for files. I've already read that this can be accomplished by manually editing the csproj file, but I can't find that anymore...and are there other ways?
On the menu bar, choose Build > Configuration Manager. In the Project contexts table, locate the project you want to exclude from the build. In the Build column for the project, clear the check box. Choose the Close button, and then rebuild the solution.
You can use Visual Studio to exclude a file from a solution by context-clicking the file in Solution Explorer and selecting Exclude from Project in the context menu.
None - The file is not included in the project output group and is not compiled in the build process. An example is a text file that contains documentation, such as a Readme file. Content - The file is not compiled, but is included in the Content output group.
There are two different ways: In your csproj files, you will have sections that look like this:
<ItemGroup>
<Compile Include="Helper.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
What you can do is set up a new project configuration (Build menu, Configuration Manager, select New from the Active solution configuration dropdown), then manually change the ItemGroup node to this:
<ItemGroup Condition=" '$(Configuration)' == 'MyNewConfiguration' ">
<Compile Include="Helper.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
The second way, as you referred to in your question, is to use conditional debug symbols. At the top of your file, have the statement
#if MYDEBUGSYMBOL
and at the bottom have
#endif
then you can define the debug symbols; right clickon your project file, select Properties, go to the Build tab, and enter the debug symbol in the Conditional compilation symbols textbox.
I would probably stick with the first method.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With