Notice (2018-05-24): bugzilla.xamarin.com is now in
Please join us on
Visual Studio Developer Community and in the
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
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.
MonoDevelop does not interpret $(SolutionDir) variable in build path settings for projects.
Having `<OutputPath>$(SolutionDir)\bin</OutputPath>` in .csproj files, I expect the build to create its files in, well, $(SolutionDir)/bin. Instead, it happens that a directory called '$(SolutionDir)' (literally) is created inside the project folder.
Solution and project files were created with Visual Studio 2010.
This should work if you enable experimental xbuild support.
I can confirm this is a bug in 2.8.5 even after I enable XBuild
Did you restart MD after enabling xbuild support?
That said, this is probably something we need the MD configuration editing UI to be aware of, even with xbuild.
I implemented SolutionDir support in the xbuild builder processes, but we don't handle it in the UI yet.
any progress on supporting this in the UI?
Is there any progress on this bug? Unfortunately it causes problems for the F# binding because the Monodevelop project model does not have the correct reference resolution. These are then passed onto the F# binding which causes spurious errors to be reported.
Support for SolutionDir was implemented for the MSBuild/xbuild engine, as noted in comment 4. The preferences UI may not handle it correctly, but it works fine in the build system. If you have problems with the F# addin, please report a specific bug against it.
The F# addin is getting its list of references from Monodevelop. Please see:
In the left-hand pane there is the cosmetic issue that the reference is highlighted red and marked as not resolved, but we are actually trying to request the resolved references through the project model. If this is not supported, should we load the project file ourselves and run it through the msbuild API as in:
or is there a way of getting this from an addin?
That's a very different issue from this. This issue is that the SolutionDir property was not available in the MSBuild engine.
The issue you're seeing is that references in the solution pad are resolved using the old reference resolution system (which predates the existence of MSBuild). It's difficult to fix since it essentially involves rewriting the reference resolution system to call into MSBuild. We have no ETA on a fix.
For project types that have been updated to use the MSBuild build engine this is largely cosmetic, since code completion and the build engine do use MSBuild correctly, it's only the solution pad that's wrong.
Thanks for the explanation. I have opened an F# addin issue at https://github.com/fsharp/fsharpbinding/issues/349.
Could you please point me to where the C# code completion gets its references (through MSBuild) so that we can adjust the F# addin to behave the same way?
This will be fixed in XS 6.0.