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.
1) Create an Android Library (Foo), implement some classes (do not build it)
2) Create an Android Library (Bar), make it reference Foo
3) There is no autocompletion offered in Bar for any type in foo. The namespaces don't even show up
4) Double click on the 'Foo' reference in 'Bar' and you get a FileNotFound exception:
File not found: /Users/alanmcgovern/Projects/RottenTomatos/RottenTomatosAPI/bin/Debug/RottenTomatosAPI.dll
This is a project reference, not a file reference, so it should not be looking for a compiled dll.
This is probably because the Android projects use msbuild/xbuild build engine, and the code completion engine takes the list of references from msbuild/xbuild, which are resolved to dlls. We should inspect the additional metadata on the references returned from msbuild and resolve them back to projects where possible.
From irc: we can probably match the MSBuild reference to a MonoDevelop reference which will allow MonoDevelop to know that the msbuild file reference is actually a reference to a project and use the project accordingly. This means MSBuild based projects will not require a built assembly in order to give code completion or anything else that relies on using the project reference.
[13:16:30] <mhutch> that's where we invoke msbuild, and you have the actual BuildItem objects
[13:17:03] <mhutch> I'm pretty sure .NET has "OriginalItemSpec" metadata on them which would be the csproj reference
[13:17:11] <mhutch> dunno about xbuild though
[13:22:14] <mhutch> the OriginalItemSpec on the dll builiyem in that case would be ..\RottenTomatosAPI\RottenTomatosAPI.csproj
[13:26:41] <mhutch> ItemSpec is the msbuild name for the literal value of the Include attribute on an item
Any chance we'll see this resolved? Still a problem and a big nuisance when developing MfA.
Old bug. This is already fixed.