Bug 52553 - Intellisense fails when referencing an iOS binding project
Summary: Intellisense fails when referencing an iOS binding project
Status: VERIFIED FIXED
Alias: None
Product: Xamarin Studio
Classification: Desktop
Component: Text Editor ()
Version: 6.2.0 (C9)
Hardware: Macintosh Mac OS
: Normal normal
Target Milestone: C9SR0
Assignee: Mike Krüger
URL:
: 52550 ()
Depends on:
Blocks:
 
Reported: 2017-02-15 23:15 UTC by Jon Goldberger [MSFT]
Modified: 2017-02-27 18:49 UTC (History)
4 users (show)

Tags: Cycle9KI
Is this bug a regression?: Yes
Last known good build: XS 6.1.5


Attachments
Test Project (445.05 KB, application/zip)
2017-02-15 23:15 UTC, Jon Goldberger [MSFT]
Details


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:
Status:
VERIFIED FIXED

Description Jon Goldberger [MSFT] 2017-02-15 23:15:23 UTC
Created attachment 19837 [details]
Test Project

## Description

## Description

Intellisense does not work for types referenced from iOS Bindings Library projects when using a project reference. Intellisense issue only, project builds work. 

Possible dupe of bug report bug #42448, but that is for VS Extensions. I have discovered the same issue in Xamarin Studio on the Mac (C9), as well as Visual Studio for Mac. It works as expected on the C8SR1 builds. 

## Steps to reproduce

1. Open the attached test project, open solution InfColorPickerBinding.sln in InfColorPickerBinding folder, and build solution using either XS on Alpha/Beta (C9) or VS for Mac Preview.

2. Open the InfColorPickerSampleViewController.cs file and expand the collapsed Private Methods section.

Expected result: No red underlines on types from the binding library, and no hover message that the type is "inaccessible due to its protection level" (which would seem to be an erroneous message anyway as the build works) 

Actual result: All types in the binding library are underlined in red, with a hover message that the type is "inaccessible due to its protection level" 

## Notes

A workaround is to reference the binding assembly directly instead of using a project reference. 

I see the same issue in the Visual Studio extensions for both Android (bug #17857) and iOS (bug #42448). 

I also see a very similar issue with Android binding projects in VS for Mac and XS C9, filed as bug #52550

## Regression status

This is a regression in C9 and Vs for Mac

GOOD: XS 6.1.5
BAD: XS 6.2
BAD: VS for Mac Version Preview 3 (7.0 build 1077)

## Environment

=== Xamarin Studio Enterprise ===

Version 6.2 (build 1812)
Installation UUID: ceaba76c-db06-4fbd-b326-f69ea53c3e01
Runtime:
	Mono 4.8.0 (mono-4.8.0-branch/9ac5bf2) (64-bit)
	GTK+ 2.24.23 (Raleigh theme)

	Package version: 408000489

=== NuGet ===

Version: 3.5.0.0

=== Xamarin.Profiler ===

'/Applications/Xamarin Profiler.app' not found

=== Apple Developer Tools ===

Xcode 8.2.1 (11766.1)
Build 8C1002

=== Xamarin.Mac ===

Version: 3.0.0.391 (Visual Studio Enterprise)

=== Xamarin Inspector ===

Version: 1.1.0.0
Hash: a3c1167
Branch: 1.1-release
Build date: Tue, 14 Feb 2017 15:22:42 GMT

=== Xamarin.Android ===

Version: 7.1.0.35 (Visual Studio Enterprise)
Android SDK: /Users/jongoldberger/Library/Developer/Xamarin/android-sdk-macosx
	Supported Android versions:
		4.0.3 (API level 15)
		4.1   (API level 16)
		4.2   (API level 17)
		4.3   (API level 18)
		4.4   (API level 19)
		5.0   (API level 21)
		5.1   (API level 22)
		6.0   (API level 23)
		7.0   (API level 24)

SDK Tools Version: 25.2.5
SDK Platform Tools Version: 25.0.3
SDK Build Tools Version: 25.0.2

Java SDK: /usr
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)

Android Designer EPL code available here:
https://github.com/xamarin/AndroidDesigner.EPL

=== Xamarin Android Player ===

Version: 0.6.5
Location: /Applications/Xamarin Android Player.app

=== Xamarin.iOS ===

Version: 10.4.0.121 (Visual Studio Enterprise)
Hash: 9d6e1ab
Branch: cycle9
Build date: 2017-02-10 12:10:51-0500

=== Build Information ===

Release ID: 602001812
Git revision: 33e69e5df3c62c2c4084cf1b8de26fda93c5e843
Build date: 2017-02-09 12:18:09-05
Xamarin addins: 984f6bd4e491490d1cdf37352594300dab2b1597
Build lane: monodevelop-lion-cycle9

=== Operating System ===

Mac OS X 10.12.3
Darwin Jons-MacBook-Pro.local 16.4.0 Darwin Kernel Version 16.4.0
    Thu Dec 22 22:53:21 PST 2016
    root:xnu-3789.41.3~3/RELEASE_X86_64 x86_64

=== Enabled user installed addins ===

Addin Maker 1.3.2
Prism Template Pack 1.5
Manifest.addin 0.0.0.0
Comment 1 Matt Ward 2017-02-16 09:47:45 UTC
Confirmed. I see the errors in the InfColorPickerSampleViewController.cs class in Xamarin Studio 6.2 but not in 6.1.5.

There is also an error about the BaseType attribute in the binding project. However this error appears in Xamarin Studio 6.1.5 as well as 6.2.
Comment 2 xamarin-release-manager 2017-02-17 12:46:58 UTC
Fixed in version 6.3.0.794 (master)

Author: Lluis Sanchez
Commit: 63de65c39e05cf4892e5c0847b06f79fafb1e76a (mono/monodevelop)
Comment 4 Mike Krüger 2017-02-21 10:52:17 UTC
build 786 - was fixed in 794
Comment 6 Mike Krüger 2017-02-21 15:07:26 UTC
Checked that build - it works for me.

You need to compile the project first and then you can open/edit the files.

It's an output tracked project - so it won't work without compilation first.
Comment 7 Mike Krüger 2017-02-21 15:11:09 UTC
Screencast:

https://screencast.com/t/byVvaD9vBYR

Output tracking is not an ideal solution - but the best work around we can do for now :/
Comment 9 Mike Krüger 2017-02-25 07:53:03 UTC
*** Bug 52550 has been marked as a duplicate of this bug. ***