Exclude whole files based on configuration from build in VS2008
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?
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.
精彩评论