Bug 1413 - Upgrading to MonoDevelop 2.8 results in MonoTouch not showing up
Summary: Upgrading to MonoDevelop 2.8 results in MonoTouch not showing up
Status: RESOLVED FIXED
Alias: None
Product: Xamarin Studio
Classification: Desktop
Component: General ()
Version: 2.8
Hardware: Macintosh Mac OS
: --- major
Target Milestone: 2.8.1
Assignee: Lluis Sanchez
URL:
Depends on:
Blocks:
 
Reported: 2011-10-11 07:20 UTC by Alan McGovern
Modified: 2011-10-20 06:33 UTC (History)
3 users (show)

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


Attachments
The tarball contains both MD 2.8 and MD 2.8 debug version log files and version info file for MD 2.8 (3.62 KB, application/x-gzip)
2011-10-11 13:46 UTC, Aaron 'Wei' He
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:
RESOLVED FIXED

Description Alan McGovern 2011-10-11 07:20:04 UTC
Dear Xamarin,I have a MonoTouch Enterprise license. After upgrading to MonoDevelop 2.8 (and related Mono Framework MDK), all of my MonoTouch projects in the solutions are displayed as 'Unknown solution item type: {E613F3A2-FE9C-494F-B74E-F63BCB86FEA6}
Comment 1 Alan McGovern 2011-10-11 07:58:03 UTC
Could all people experiencing this issue start MonoDevelop, verify that MonoTouch is missing from the templates and then immediately attach the following information from the running MonoDevelop:

1) The contents of the 'Version Info' tab in MonoDevelop -> About MonoDevelop
2) Click on MonoDevelop -> Preferences and go to 'SDK' locations. Is there an entry for the MonoTouch SDK here? If so, does it say the SDK has been correctly detected?
3) The log file found in the  Logs/MonoDevelop-2.8/MonoDevelop.log subdirectory in your home folder.

Can you also verify that monotouch is installed and available at /Developer/MonoTouch. Finally, I've built a special debugging version of MonoDevelop and placed it on:

http://files.xamarin.com/~alan/MonoDevelop-debug.dmg

This build is not a fully-featured release of MonoDevelop so some features will be missing from it. However it contains a lot of extra logging information which can help diagnose the issue, so if MonoTouch does not show up after you attach all the information asked for above, would you be able to install this special debug build and attach the MonoDevelop.log (found in the same location as before) from after you've run this build?

Thanks for helping us track this down!
Comment 2 Alan McGovern 2011-10-11 13:07:36 UTC
We have reports that upgrading from Xcode 3.x to Xcode 4.x results in the /Developer directory being renamed and a new one being created. This appears to be the cause of MonoTouch vanishing from MonoDevelop. We have implemented basic detection of this so with MonoDevelop 2.8.1 and higher the project will not vanish from the 'Start new Solution' dialog and also opening an existing project will give a better error message informing you that MonoTouch needs to be reinstalled.

For anyone experiencing this issue, can your verify that your /Developer directory has been moved to /Developer-old, or /Developer-old-3.2.6, or something similar to that and that this renamed directory contains MonoTouch.

Anyway, the fix is simple - just re-install MonoTouch and everything will work again.
Comment 3 Aaron 'Wei' He 2011-10-11 13:46:51 UTC
Created attachment 673 [details]
The tarball contains both MD 2.8 and MD 2.8 debug version log files and version info file for MD 2.8

For step 2, I got this "Apple SDK: [Check] SDK found at default location.".
Comment 4 Alan McGovern 2011-10-11 14:30:36 UTC
Aaron, by any chance do you have a case sensitive file system?
Comment 5 Alan McGovern 2011-10-11 14:41:01 UTC
lluis, Part of this bug is apparently caused by a case mismatch in filenames. My guess is Aaron has a case sensitive filesystem which made the addin fail to load because we were looking for one project template which was cased as '.Storyboard.xpt.xml' on disk and 'StoryBoard.xpt.xml' in the addins xml. There are literally dozens of files in the IPhone addin. Is there an automated way of verifying the casing is correct using mono.addins? If not, could you rig something up real quick and run a quick pass over the IPhone addin?
Comment 6 Aaron 'Wei' He 2011-10-11 15:13:53 UTC
@Alan,  Yes, it's case-sensitive.
Comment 7 Alan McGovern 2011-10-11 15:18:47 UTC
Aaron has just confirmed that a test package I built for him has resolved his issues. The fixes I included are in git and the addin should work fine on case sensitive filesystems now.
Comment 8 Attila Tamás Zimler 2011-10-13 15:45:35 UTC
I also have a case sensitive file system, with MonoDevelop 2.8.1 and newest MonoTouch 5 installed. First time I loaded my solution it converted the solution, and then MonoTouch projects were loaded correctly.

Then I started MonoDevelop as admin (to get rid of the application is downloaded from the net). And reverted the code with git commands to be able to do the migration cleanly.

Now MonoDevelop doesn't suggest migration of the projects/solution and MonoTouch projects are not loadable. It seems like if it was somewhere saved that the solution was already converted and no need for it.

Adding directly a MonoTouch project to the solution (just to trigger the conversion) results in exception (see below). I would like to highlight the name of the path '/private/tmp/source/md-addins/...' but the application should not search anything there after installation (there is no /private/tmp/source path, it seems that some part of the process already removed it, so it surprising that there is no MonoDevelop.Iphone... there).


System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> MonoDevelop.Core.UserException: MonoTouch is not installed
  at MonoDevelop.IPhone.IPhoneProject.ThrowIfNotCheckInstalled () [0x00032] in /private/tmp/source/md-addins/MonoDevelop.IPhone/MonoDevelop.IPhone/Project/IPhoneProject.cs:86 
  at MonoDevelop.IPhone.IPhoneProject..ctor (System.String languageName) [0x00007] in /private/tmp/source/md-addins/MonoDevelop.IPhone/MonoDevelop.IPhone/Project/IPhoneProject.cs:96 
  at (wrapper managed-to-native) System.Reflection.MonoCMethod:InternalInvoke (System.Reflection.MonoCMethod,object,object[],System.Exception&)
  at System.Reflection.MonoCMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x0011e] in /private/tmp/monobuild/build/BUILD/mono-2.10.5/mcs/class/corlib/System.Reflection/MonoMethod.cs:526 
  --- End of inner exception stack trace ---
  at System.Reflection.MonoCMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00131] in /private/tmp/monobuild/build/BUILD/mono-2.10.5/mcs/class/corlib/System.Reflection/MonoMethod.cs:532 
  at System.Reflection.MonoCMethod.Invoke (BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in /private/tmp/monobuild/build/BUILD/mono-2.10.5/mcs/class/corlib/System.Reflection/MonoMethod.cs:541 
  at System.Activator.CreateInstance (System.Type type, BindingFlags bindingAttr, System.Reflection.Binder binder, System.Object[] args, System.Globalization.CultureInfo culture, System.Object[] activationAttributes) [0x00180] in /private/tmp/monobuild/build/BUILD/mono-2.10.5/mcs/class/corlib/System/Activator.cs:299 
  at System.Activator.CreateInstance (System.Type type, System.Object[] args, System.Object[] activationAttributes) [0x00000] in /private/tmp/monobuild/build/BUILD/mono-2.10.5/mcs/class/corlib/System/Activator.cs:234 
  at System.Activator.CreateInstance (System.Type type, System.Object[] args) [0x00000] in /private/tmp/monobuild/build/BUILD/mono-2.10.5/mcs/class/corlib/System/Activator.cs:229 
  at MonoDevelop.Projects.Extensions.DotNetProjectSubtypeNode.CreateInstance (System.String language) [0x00000] in /private/tmp/source/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.Extensions/DotNetProjectSubtypeNode.cs:115 
  at MonoDevelop.Projects.Formats.MSBuild.MSBuildProjectHandler.CreateSolutionItem (IProgressMonitor monitor, MonoDevelop.Projects.Formats.MSBuild.MSBuildProject p, System.String fileName, System.String language, System.String typeGuids, System.String itemType, System.Type itemClass) [0x00027] in /private/tmp/source/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.Formats.MSBuild/MSBuildProjectHandler.cs:314 
  at MonoDevelop.Projects.Formats.MSBuild.MSBuildProjectHandler.Load (IProgressMonitor monitor, System.String fileName, MonoDevelop.Projects.Formats.MSBuild.MSBuildFileFormat expectedFormat, System.String language, System.Type itemClass) [0x00182] in /private/tmp/source/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.Formats.MSBuild/MSBuildProjectHandler.cs:281 
  at MonoDevelop.Projects.Extensions.DotNetProjectNode.LoadSolutionItem (IProgressMonitor monitor, System.String fileName, MonoDevelop.Projects.Formats.MSBuild.MSBuildFileFormat expectedFormat, System.String itemGuid) [0x00016] in /private/tmp/source/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.Extensions/DotNetProjectNode.cs:66 
  at MonoDevelop.Projects.Formats.MSBuild.MSBuildProjectService.LoadItem (IProgressMonitor monitor, System.String fileName, MonoDevelop.Projects.Formats.MSBuild.MSBuildFileFormat expectedFormat, System.String typeGuid, System.String itemGuid) [0x00024] in /private/tmp/source/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.Formats.MSBuild/MSBuildProjectService.cs:91 
  at MonoDevelop.Projects.Formats.MSBuild.MSBuildFileFormat.ReadFile (FilePath file, System.Type expectedType, IProgressMonitor monitor) [0x0002b] in /private/tmp/source/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.Formats.MSBuild/MSBuildFileFormat.cs:163 
  at MonoDevelop.Projects.ProjectService.ReadFile (IProgressMonitor monitor, System.String file, System.Type expectedType, MonoDevelop.Projects.FileFormat& format) [0x0002d] in /private/tmp/source/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/ProjectService.cs:310 
  at MonoDevelop.Projects.ProjectService+<ReadSolutionItem>c__AnonStoreyBB.<>m__8B (IProgressMonitor , System.String ) [0x00000] in /private/tmp/source/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/ProjectService.cs:208 
  at MonoDevelop.Projects.DefaultProjectServiceExtension.LoadSolutionItem (IProgressMonitor monitor, System.String fileName, MonoDevelop.Projects.Extensions.ItemLoadCallback callback) [0x00000] in /private/tmp/source/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/ProjectService.cs:672 
  at MonoDevelop.Projects.ProjectServiceExtension.LoadSolutionItem (IProgressMonitor monitor, System.String fileName) [0x00000] in /private/tmp/source/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/ProjectServiceExtension.cs:102 
  at MonoDevelop.Projects.ProjectServiceExtension.LoadSolutionItem (IProgressMonitor monitor, System.String fileName, MonoDevelop.Projects.Extensions.ItemLoadCallback callback) [0x0000c] in /private/tmp/source/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/ProjectServiceExtension.cs:93 
  at MonoDevelop.Projects.ProjectServiceExtension.LoadSolutionItem (IProgressMonitor monitor, System.String fileName) [0x00000] in /private/tmp/source/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/ProjectServiceExtension.cs:102 
  at MonoDevelop.Autotools.MakefileProjectServiceExtension.LoadSolutionItem (IProgressMonitor monitor, System.String fileName) [0x00000] in /private/tmp/source/monodevelop/main/src/addins/MonoDevelop.Autotools/MakefileProjectServiceExtension.cs:69 
  at MonoDevelop.Projects.ProjectServiceExtension.LoadSolutionItem (IProgressMonitor monitor, System.String fileName, MonoDevelop.Projects.Extensions.ItemLoadCallback callback) [0x0000c] in /private/tmp/source/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/ProjectServiceExtension.cs:93 
  at MonoDevelop.Projects.ProjectServiceExtension.LoadSolutionItem (IProgressMonitor monitor, System.String fileName) [0x00000] in /private/tmp/source/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/ProjectServiceExtension.cs:102 
  at MonoDevelop.Projects.ProjectServiceExtension.LoadSolutionItem (IProgressMonitor monitor, System.String fileName, MonoDevelop.Projects.Extensions.ItemLoadCallback callback) [0x0000c] in /private/tmp/source/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/ProjectServiceExtension.cs:93 
  at MonoDevelop.Projects.ProjectServiceExtension.LoadSolutionItem (IProgressMonitor monitor, System.String fileName) [0x00000] in /private/tmp/source/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/ProjectServiceExtension.cs:102 
  at MonoDevelop.Projects.ProjectServiceExtension.LoadSolutionItem (IProgressMonitor monitor, System.String fileName, MonoDevelop.Projects.Extensions.ItemLoadCallback callback) [0x0000c] in /private/tmp/source/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/ProjectServiceExtension.cs:93 
  at MonoDevelop.Projects.ProjectServiceExtension.LoadSolutionItem (IProgressMonitor monitor, System.String fileName) [0x00000] in /private/tmp/source/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/ProjectServiceExtension.cs:102 
  at MonoDevelop.Projects.ProjectServiceExtension.LoadSolutionItem (IProgressMonitor monitor, System.String fileName, MonoDevelop.Projects.Extensions.ItemLoadCallback callback) [0x0000c] in /private/tmp/source/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/ProjectServiceExtension.cs:93 
  at MonoDevelop.Projects.ProjectServiceExtension.LoadSolutionItem (IProgressMonitor monitor, System.String fileName) [0x00000] in /private/tmp/source/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/ProjectServiceExtension.cs:102 
  at MonoDevelop.Projects.CompiledAssemblyExtension.LoadSolutionItem (IProgressMonitor monitor, System.String fileName) [0x0003e] in /private/tmp/source/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/CompiledAssemblyProject.cs:223 
  at MonoDevelop.Projects.ProjectServiceExtension.LoadSolutionItem (IProgressMonitor monitor, System.String fileName, MonoDevelop.Projects.Extensions.ItemLoadCallback callback) [0x0000c] in /private/tmp/source/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/ProjectServiceExtension.cs:93 
  at MonoDevelop.Projects.ProjectServiceExtension.LoadSolutionItem (IProgressMonitor monitor, System.String fileName) [0x00000] in /private/tmp/source/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/ProjectServiceExtension.cs:102 
  at MonoDevelop.Projects.ProjectServiceExtension.LoadSolutionItem (IProgressMonitor monitor, System.String fileName, MonoDevelop.Projects.Extensions.ItemLoadCallback callback) [0x0000c] in /private/tmp/source/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/ProjectServiceExtension.cs:93 
  at MonoDevelop.Projects.ProjectServiceExtension.LoadSolutionItem (IProgressMonitor monitor, System.String fileName) [0x00000] in /private/tmp/source/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/ProjectServiceExtension.cs:102 
  at MonoDevelop.Projects.ProjectServiceExtension.LoadSolutionItem (IProgressMonitor monitor, System.String fileName, MonoDevelop.Projects.Extensions.ItemLoadCallback callback) [0x0000c] in /private/tmp/source/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/ProjectServiceExtension.cs:93 
  at MonoDevelop.Projects.ProjectService.ReadSolutionItem (IProgressMonitor monitor, System.String file) [0x00059] in /private/tmp/source/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/ProjectService.cs:206 
  at MonoDevelop.Projects.ProjectService.GetWrapperSolution (IProgressMonitor monitor, System.String filename) [0x00093] in /private/tmp/source/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/ProjectService.cs:529 
  at MonoDevelop.Ide.RootWorkspace.BackgroundLoadWorkspace (IProgressMonitor monitor, System.String filename, Boolean loadPreferences) [0x000bb] in /private/tmp/source/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide/RootWorkspace.cs:561
Comment 9 Attila Tamás Zimler 2011-10-13 15:58:38 UTC
Reinstalling MonoTouch 5 seems solving the problem.
Comment 10 Alan McGovern 2011-10-20 06:33:37 UTC
This issue seems to have been fully resolved then. I'll close the bug for now, but if it reoccurs do let us know.