Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Project.fallback_output_path doesn't apply common msbuild properties to the found text #220

Open
baronfel opened this issue Dec 8, 2016 · 1 comment

Comments

@baronfel
Copy link

baronfel commented Dec 8, 2016

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.

@haf
Copy link
Member

haf commented Dec 8, 2016

Sure; PR for the 'common' properties inside $(...) and we can have a whitelist that gets interpolated. But remember that MsBuild is rather close to turing complete (or maybe it is; not sure), so it's a fool's errand to support all and every evaluation it's capable of without implementing the engine itself.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants