I like to consolidate as much as possible the variation points in my project files on the configuration, so I tend to have a project file that looks like this:
<PropertyGroup>
<AssemblyName>WHATEVER_THE_NAME_IS</AssemblyName>
<RootNamespace>$(AssemblyName)</RootNamespace>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>blah-blah-blah</ProjectGuid>
<OutputType>Library</OutputType>
<OutputPath>bin\$(Configuration)</OutputPath>
...
<DocumentationFile>bin\$(Configuration)\$(AssemblyName).xml</DocumentationFile>
</PropertyGroup>
When Project::output_dll is called, it correctly locates the fallback_output_path of bin\$(Configuration), but it doesn't apply any existing (or even just a subset of common) MSBuild properties to try and resolve that path. I can see where this might go off the rails, but at the same time I'd like to use well-known properties like Configuration and Platform to make paths and reduce duplication.
I like to consolidate as much as possible the variation points in my project files on the configuration, so I tend to have a project file that looks like this:
When
Project::output_dllis called, it correctly locates thefallback_output_pathofbin\$(Configuration), but it doesn't apply any existing (or even just a subset of common) MSBuild properties to try and resolve that path. I can see where this might go off the rails, but at the same time I'd like to use well-known properties like Configuration and Platform to make paths and reduce duplication.