Bug 9988 - [MFA Master] Resource.Designer.cs not found which result in build errors for ActionBarSherlock with monodroid-lion
Summary: [MFA Master] Resource.Designer.cs not found which result in build errors for ...
Alias: None
Product: Android
Classification: Xamarin
Component: Samples ()
Version: 4.6.x
Hardware: PC Mac OS
: --- normal
Target Milestone: ---
Assignee: Atsushi Eno
Depends on:
Reported: 2013-02-01 16:12 UTC by GouriKumari
Modified: 2013-03-04 03:38 UTC (History)
2 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:

Comment 2 Atsushi Eno 2013-02-06 07:09:21 UTC
I couldn't reproduce this issue bigsplash HEAD/linux. Maybe OSX or mono 2.10 dependent. Will try later.
Comment 5 Atsushi Eno 2013-02-07 13:04:45 UTC
OK, so you had some local changes in project API Level.

It is kind of expected. The resource set in the zip contains resources that are valid only after API Level 14 ("values-v14"). Those resources have references to other resources that exist only in API Level 14 or higher.

You need to create different zip file for ABS with lower API Level.

Now, it is arguable or needs investigation that *how* Android Java excludes those API-specific resources.
If the resource set is compiled per target API level in java and aapt, we are likely unable to avoid that and users will have to use two different ABS binding dll (Java people don't need that because their resources are rather shipped as "a jar and set of resources", but we need it because our outcome is a single dll).
If the resource set is compiled independent of target API level in java and aapt - it might be either dependent on the fact that Java is different from .NET and it somehow allows to run compiled code with higher API level on lower API target. If that's the case, again we cannot do the same, we'll need to use two different dlls for two API level sets (higher/lower). If not, we are likely able to live with single dll. Or there may be any other reason that rejects single dll.

Anyways, with current MFA you need two different set of zip and binding dlls.
Comment 6 Atsushi Eno 2013-02-15 13:38:51 UTC
Well, let's keep it open, there is something we can make it better.
Comment 7 Atsushi Eno 2013-02-28 11:35:32 UTC
I dug in depth in the issue and found that Android aapt bundles all those resources and loads the appropriate resource at run time. Hence the resource build is done along with targetSdkVersion.

For ABS, we should do the same, setting target platform as 14 or higher, and set minSdkVersion to 4 (or whatever applicable). (We can set it in the AndroidManifest.xml or project properties for it.)
Comment 8 Saurabh 2013-03-04 03:38:41 UTC
Today we have checked this issue with following builds:

Xamarin Studio 4.0 - a4ca67108f5600f7c65f7d47a402f772dc73ef35
Xamarin.Android 4.6.01042
Mono 2.10.11

And we are successfully able to build and deploy application having target framework >= 4.0 and we are able to open resource.designer.cs file.

However with Target framework below ICS, We are getting build error.

Means this application will work on ICS and above

Changing the status to Verified.