What is causing this build error targeting iphonesimulator from Visual Studio? - ios

I'm getting these errors, building for any iOS simulator:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets(473,3): error MSB3231: Unable to remove directory "obj\iPhoneSimulator\Debug\". The directory is not empty
OR
SeverityCodeDescriptionProjectFileLineSuppression StateSuppression State Error Unable to remove directory "UserControls". Access to the path 'D:\Projects\Solutions\mycompany\iOS\obj\iPhoneSimulator\Debug\UserControls' is denied.mycompany.iOS
OR both together...
I'm using VS 2019 version 16.3.7 on Windows 10 machine and Xcode 11.2.1 on Mac Mini, OSX 10.14.6 and it does not matter which iOS simulator targeted, all version 13.2.2. Developing a Xamarin Forms application.
If I switch to target one of my hard devices, I get multiple errors like this:
error : Access to the path 'D:\Projects\Solutions\mycompany\iOS\obj\iPhone\Debug\Popups\TemplatePicker.xaml.g.cs' is denied.
I can work around this by quitting VS, removing read-only flag on the obj folder and all it contents, run VS as admin, THEN it builds and pushes to the device.
Switching back to target a simulator, I get the first error again.
Deleting Bin and Obj folders does not help either.
Side note - this was working until Windows rebooted itself on my dev machine, closing VS and forcing recovery of some files. Android version works just fine in simulator and hard device, no issues.
Wondering if I upgrade VS to version 16.4.5 and Xcode to 11.3.1, this might be resolved. Any ideas?
Are these version compatible with the latest VS-Xcode connector? (I've seen issues with version incompatibility) .
Any ideas? Resolutions?
Thank you

OK, here's what I've found...
The connection and link to XCode from VS on the PC causes a lock or some sort when targeting any iOS simulor. This is intermittent but once the locks are imposed, one needs to
close VS
quit the Simulator on the Mac.
delete the Obj and Bin folders in the solution
Re-open VS, open the project, let it sync with the Mac.
Restart Simulator on the mac
Rebuild. This could take a couple iterations too.
If that does not clear the problem, shut down both machines, remember to delete Obj and Bin folders.
Frustrating, slow, but it works for me for now.

Related

Xamarin.Forms - Build Errors when trying to deploy to local iOS Device - "The given path's format is not supported"

The Issue
I have a Xamarin.Forms app, which runs fine in Android and iOS Simulators, as well as on a physical Android device.
But when I try to deploy to a local physical iOS device, Visual Studio reports a number of similar build errors, all relating to files that I have in the wwwroot folder.
For example:
Unable to copy file "..\BlazorHybridApp\wwwroot\weather.json" to "C:\Users\JohnDoe\AppData\Local\Temp\Xamarin\HotRestart\Signing\BlazorHybridApp.iOS.app\out\Payload\BlazorHybridApp.iOS.app\D:\Dev\MobileBlazorBindings\BlazorHybridApp\BlazorHybridApp\wwwroot\weather.json". The given path's format is not supported. BlazorHybridApp.iOS
Similarly:
Unable to copy file "..\BlazorHybridApp\wwwroot\css\app.css" to "C:\Users\JohnDoe\AppData\Local\Temp\Xamarin\HotRestart\Signing\BlazorHybridApp.iOS.app\out\Payload\BlazorHybridApp.iOS.app\D:\Dev\MobileBlazorBindings\BlazorHybridApp\BlazorHybridApp\wwwroot\css\app.css". The given path's format is not supported. BlazorHybridApp.iOS
Looking at the error detail, the destination path does appear to be malformed.
Interestingly, some of the files included in the build errors are not in fact referenced anywhere within the program code as it stands (e.g. the weather.json file), and so I'm led to believe it's not a referencing/path issue within the program code itself. It seems sufficient for a file to appear in the wwwroot folder (or one of it's sub-folders) for it to generate a build error, but ONLY when building for a physical iOS device.
The Environment
Mac
I'm including the Mac details for completeness, but it seems the build doesn't get as far as the Mac before stopping with build errors.
Xcode 12.5
Windows
Windows 10
Visual Studio 2019 version 16.10.4
I have disabled "Hot Restart" in Tools > Options > Xamarin > iOS Settings in case it was messing things up.
And the files within the wwwroot folder are set as follows within VS:
Can anyone suggest anything I might try?
I managed to "resolve" the issue myself, well, at least side-step it.
When I was getting the build errors, I was trying to deploy to a physical device connected to my Windows machine.
If instead I connected the device to the Mac, and ran the same build process on Windows, the build completed with no errors.
Another weird quirk of Visual Studio, it would seem.

Visual Studio Mac 2019 - Xamarin.Forms wont connexct to the debugger

I have a project that wont connect to the debugger on iOS 13.3.1 and 13.4.
Specs:
Visual Studio 8.5.3 (build 16)
Xamarin.iOS 13.16
iOS (physical device): 13.4
My project builds, deploys, installs and then appears on my physical device (does not open).
Meanwhile Visual Studio is showing "Waiting to connect to debugger...." and eventually times out with "Could not connect to debugger" message.
Here is the error message from the stack trace:
error HE0032: Could not mount developer tools on 'iOS Automation': Value cannot be null.
Parameter name: array
Error message seems straight forward, but I am not sure how to handle it.
Can anyone please let me know?
Thanks.
EDIT:
Also, I have tried multiple times to Clean the solution
Close it
delete the bin and obj directories from each project
Reopen the solution.
Build each project individually - NOT rebuild solution
After all the projects are built... Then Rebuild Solution

Building iOS app with Xamarin and Visual Studio 2019 - Error Wrong Version of Xcode installed when it isnt

I am trying out Xamarin on the Mac. I have an oldish Mac that DID have Xcode 10.1 on it.
I tried to build the iOS app and got the following error:
Severity Code Description Project File Line Suppression State
Error The Xcode version installed on the Mac (10.1) is not compatible with this version of Visual Studio. This may cause unexpected warnings or errors when building and deploying iOS projects. Please install Xcode '11.3' or visit the documentation to learn more. 0
I upgraded the Mac to Caitlin and upgraded Xcode to 11.3.
I can connect to the Mac and actually can run the iPhone simulator with the app, however, if I run the build, I STILL get the same error, like its not figured out how to update itself?
I have done the 'forget this Mac' and even renamed it on the network in case there was some legacy in a file somewhere.
I have dumped the solution and created a new one from the templates and still get the same error ... hair being torn out...
It might be one of those things that just goes away after a while I don't know. Any ideas?
Thanks.
EDIT * I realised that I wasnt clear. I am running VS2019 on a PC connecting to my Mac.

APK fails to be installed on any device

I'm new in the Xamarin Development world so I installed Visual Studio 2017 with all the needed cross compiler features.
After downloading and updating the SDKs for Android API 23, 24, 25 and 26 and some corresponding emulator images I got the emulators starting up.
I created a base Xamarin Android App within VS, compiled and deployed it to the simulator.
By deploying/installing the generated APK to the simulator I get the following error:
Failure [INSTALL_FAILED_INVALID_APK: Package couldn't be installed in /data/app/BlankAndroid.BlankAndroid-1: Package /data/app/BlankAndroid.BlankAndroid-1/base.apk code is missing]
It doesn't matter which SDK I choose as “Target Framework” or which Simulator I choose (Android 6, Android 7 or 7.1). The result is the same: The apk is not installed, but the “Mono Shared Runtime” are present and will be updated.
I figured out that the created apk file does not contain a file “classes.dex” or any oder dex files just some ressources. A file “classes.zip” in the directory “obj\Debug\android\bin\classes” with the generated java classes out of my C# is present. These files should be compiled with the DEX-Compiler to the classes.dex file, when I understood correctly.
Even other sample projects from the Internet have exactly the same result.
What do I do wrong?
The problem got solved by fresh installing the Android SDK and all related components. It seemed to have a SDK missmatch between an old Google Android SDK and the new installed Xamarin Android SDK.
I faced the same problem and tried many solutions from the search in web but this one to an extent solved that deploy failure issue.
In the emulator, open settings -> Apps -> Uninstall your app if it is listed
Deploy the app from visual studio again.
This solved the problem that said base.apk is missing.
Try setting your project back to the current recommended defaults. Remove all of the following properties from the .csproj file:
AndroidEnableMultiDex
AndroidDexGenerator
AndroidLinkTool
AndroidDexTool
This will let Xamarin.Android pick the current latest default values, this apply for Visual Studio for Mac and VS 2017-2019

Launch failed. The app could not be launched on xamarin

I am getting the following error when trying to run Visual Studio/Xamarin built application on the IOS Simulator.
Launch failed. The app 'App2' could not be launched on 'iPhone 7 Plus iOS 10.1'. Please check the logs for more details.
"App2" was created using the Tab Template, and NO code changes after rolling the application.
Windows environment: Windows 10 w/Visual Studio 2015 update 2
Mac environment: IMac Sierra fully patched. XCode 8.1 (what ever is most up to date).
I have connected the mac remote and pc. I can launch the iPhone simulator on the mac from Visual studio on the PC.
I get the error when trying to run "App2". It compiles fine, just won't run on the simulator.
I've searched here, and similar results speak of VS Crashing. Mine doesn't crash, just presents the error. NOTE: There's nothing in any log I can find with details by the way.
Ideas? Thanks!
EDIT: Just loaded up Parallels on the IMac and ran Win 10/VStudio. I get the same error. Again, xamarin remote agent connected and I can start the simulator from the PC, i just can't deploy to it.
After all the research and help from those here it comes down to a bug with the current version of Xamarin. Options are to wait until a new stable build is on the Xamarin site or get builds off of GIT. I'm choosing to wait, as I've not had great luck working with interim builds.
Xamarin that downloads with the new VS 2017 fixes this bug.

Resources