Bug 1759 - No intellisense or autocompletion for a referenced library
Summary: No intellisense or autocompletion for a referenced library
Alias: None
Product: Xamarin Studio
Classification: Desktop
Component: Project Model ()
Version: Trunk
Hardware: PC Mac OS
: Normal normal
Target Milestone: ---
Assignee: Lluis Sanchez
Depends on:
Reported: 2011-10-28 07:36 UTC by Alan McGovern
Modified: 2015-07-02 10:25 UTC (History)
3 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 Alan McGovern 2011-10-28 07:36:43 UTC
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.
Comment 1 Mikayla Hutchinson [MSFT] 2011-10-28 08:09:17 UTC
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.
Comment 2 Alan McGovern 2011-10-28 08:32:11 UTC
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.

<mhutch> https://github.com/mono/monodevelop/blob/master/main/src/core/MonoDevelop.Projects.Formats.MSBuild/MonoDevelop.Projects.Formats.MSBuild/ProjectBuilder.cs#L133
[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
Comment 3 Kevin McMahon 2012-12-18 15:18:33 UTC
Any chance we'll see this resolved? Still a problem and a big nuisance when developing MfA.
Comment 4 Lluis Sanchez 2015-07-02 10:25:24 UTC
Old bug. This is already fixed.