Bug 8053 - IDE shouldn't permit invalid configuration selection
Summary: IDE shouldn't permit invalid configuration selection
Status: RESOLVED FIXED
Alias: None
Product: Android
Classification: Xamarin
Component: MSBuild ()
Version: 4.6.x
Hardware: Macintosh Mac OS
: Normal normal
Target Milestone: ---
Assignee: Jonathan Pryor
URL:
Depends on:
Blocks:
 
Reported: 2012-10-29 22:22 UTC by Jens
Modified: 2013-05-22 17:02 UTC (History)
4 users (show)

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


Attachments
the wanted logfiles (8.34 KB, application/zip)
2012-10-29 22:22 UTC, Jens
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 Jens 2012-10-29 22:22:01 UTC
Created attachment 2813 [details]
the wanted logfiles

this might be a duplicate of other bugs...

I now get a "Deployment failed. The assembly directory could not be created" message whenever I try to deploy my app to a "samsung galaxy note 10.1" tab with Android 4.0.4. 
I get the same message when I want to deploy the app on an Android 2.2 emulator

You can find the logcat output and the wanted logfiles in the log.zip I will attach

This bug did not happen about a month ago. I did not use monodevelop since then so I do not know for sure when this bug appeared first :-/


Version Informations:
MonoDevelop 3.0.4.7
Installation UUID: 663de92f-f992-49eb-9bfd-1c777e4cb749
Runtime:
	Mono 2.10.9 (tarball)
	GTK 2.24.10
	GTK# (2.12.0.0)
	Package version: 210090011
Apple Developer Tools:
	 Xcode 4.5.1 (1842)
	 Build 4G1004
Monotouch: 6.0.4
Mono for Android: 4.2.8
Android SDK: /Users/jur/Downloads/android-sdk-macosx
	Supported Android versions:
		2.2   (API level 8)
		2.3   (API level 10)
		3.1   (API level 12)
		3.2   (API level 13)
		4.0   (API level 14)
		4.0.3 (API level 15)
		4.1   (API level 16)
Java SDK: /usr
Build information:
	Release ID: 30004007
	Git revision: ea0108260c6a376ecaeffcdb7d03387bd51edda3
	Build date: 2012-09-17 14:09:17+0000
	Xamarin addins: ec43fd5cb223ead4234a9858d1b56eef03dad53a-dirty
Operating System:
	Mac OS X 10.8.2
	Darwin Jens-Uwes-Mac-mini.local 12.2.0 Darwin Kernel Version 12.2.0
	    Sat Aug 25 00:48:52 PDT 2012
	    root:xnu-2050.18.24~1/RELEASE_X86_64 x86_64
Comment 1 Jonathan Pryor 2012-10-30 10:39:41 UTC
Is this a Debug or a Release app?

Do you have the shared runtime enabled or not?

Do you have fast deployment enabled or not?

Did you build the .apk with a previous Mono for Android version (e.g. 4.2.4) before attempting to deploy the .apk?

What's interesting is `log.txt` claiming it can't find mscorlib.dll. If this were a Debug app using the shared runtime, the mscorlib.dll would be provided by the Mono.Android.DebugRuntime package (which is clearly installed, as per AndroidTools.log:7-8; it would have been installed if it weren't already present).

The implication then is that the shared runtime is NOT being used. If this were a Release + non-shared-runtime app, then mscorlib.dll would instead be within the .apk.

What I suspect is happening is that you're doing a Release app with no shared runtime and with fast deployment enabled. This is an unsupported configuration, as it cannot work: Release apps don't create the fast deployment directory (the .__override__ directory that AndroidTools is looking for), so fast deployment cannot function.
Comment 2 Jens 2012-10-30 11:01:32 UTC
ok, after I activated tje "use shared runtime" option it now works again, thanks :)

BUT: this is low level stuff, which I as a normal app developer shouldn't need to know.

if there are impossible configuration because of some unknown magic, the IDE should warn the user
Or there should be some "restore defaults" option

or whatever... this is a pretty ugly usability problem :-/
Comment 3 Jonathan Pryor 2012-10-30 11:23:45 UTC
MonoDevelop (and Visual Studio, for that matter) shouldn't allow invalid configurations to be selected.
Comment 4 Mikayla Hutchinson [MSFT] 2013-05-22 16:17:11 UTC
Xamarin Studio does not permit this in the UI, but there's no way we could stop manual editing of the csproj file, so the MSBuild targets need to enforce it too, either emit a build error, or emit a warning and fall back to some sane values.

Need to check that the VS UI handles this too.
Comment 5 Jonathan Pryor 2013-05-22 17:02:58 UTC
> Need to check that the VS UI handles this too.

VS handled this by making it a valid configuration; see Bug #11421.

Furthermore, the fix is in androidtools, and thus will be "inherited" by XS.