Bug 12033 - Dependent project doesn't support property expending in OutputPath
Summary: Dependent project doesn't support property expending in OutputPath
Alias: None
Product: Xamarin Studio
Classification: Desktop
Component: Project Model ()
Version: 4.0.4
Hardware: Macintosh Mac OS
: --- enhancement
Target Milestone: ---
Assignee: Lluis Sanchez
Depends on:
Reported: 2013-04-29 14:38 UTC by xamarin
Modified: 2017-01-31 18:57 UTC (History)
2 users (show)

Is this bug a regression?: ---
Last known good build:

Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.

Please create a new report on Developer Community or GitHub with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:

Description xamarin 2013-04-29 14:38:09 UTC
1. Two projects.
2. Project B references project A
3. In project A, define <OutputPath>../../bin/Debug/$(Profile)</OutputPath>, build project A fine. When Profile is set to P104, directory bin/Debug/P104 was created and DLL was written to it.
4. Project B failed to build, error: cannot find (...)/bin/Debug/$(Profile)/A.dll

The same setup works fine in Visual Studio.
Comment 1 Mikayla Hutchinson [MSFT] 2013-04-29 14:52:30 UTC
XS currently has limited support for arbitrary MSBuild property expansion, see http://mjhutchinson.com/journal/2012/08/19/state_msbuild_support_monodevelop
Comment 2 xamarin 2013-04-29 22:40:06 UTC
Thanks for the link. But this behavior is very inconsistent. Works fine in project A, builds correctly. There is nothing special done to the B, it simply added a reference to A. But B failed to build because it cannot find the output of A. I think property expansion shouldn't require the full engine. Values with property expansion can be loaded as is so it can be serialized later, when the value is used, it is then be expended.
Comment 3 iain 2016-10-18 12:07:29 UTC
Is this still an issue with a more recent version?
Comment 4 Lluis Sanchez 2017-01-31 18:57:27 UTC