Using Storyboard Designer For Xamarin IOS App in VS 2015 - c#

I am trying to build and run a simple Xamarin IOS Single View project in VS 2015 using the iPhone simulator. The project creation is fine and I can run and see the empty project in my iPhone simulator but when I try and use the VS 2015 storyboard designer I get the error below. The remote connection to the Mac is fine , I m running VS 2015 Community Edition under Windows 10 using Parallels on my Mac. I have tried disconnecting and reconnecting to the Mac before using the designer but no luck.
Does anyone have any idea what could be the issue.
Thanks
Steve
Object reference not set to an instance of an object
Contents of C:\Users\spric\AppData\Local\Xamarin\Logs\14.0\iOSDesigner-3712.2016-10-29__10-08-39.log:
MDAddinsHash: 33f406fa2dcf214012c78cb846585f062b2e1d24
[2016-10-29 10:09:02.3] INFO: IDE notified that the list of assemblies referenced has changed
[2016-10-29 10:09:02.3] INFO: Not uploading assemblies because there is no remote session
[2016-10-29 10:09:37.2] INFO: IDE notified that the list of assemblies referenced has changed
[2016-10-29 10:09:37.2] INFO: Not uploading assemblies because there is no remote session
[2016-10-29 10:12:16.7] INFO: IDE notified that the list of assemblies referenced has changed
[2016-10-29 10:12:16.7] INFO: Not uploading assemblies because there is no remote session

Looks like a bug in the iOS designer, same error as this bug which is a duplicate of this bug.
The work around seems to be:
Partial workaround
Open the storyboard once more in Xcode 8.
Under the storyboard properties, change "Opens In" to "Xcode 7.x".
(See also the attached screenshot.)
As indicated by the dialog that will appear, this is only a partial
workaround because it will remove Xcode 8 features:
Saving for Xcode 7.x will close your document and data for Xcode 8.0
features will be removed.
if you dont have Xcode then you might be able to just replace the version at the top of your xib/storyboard with this, I havent tested this:
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="11542" systemVersion="16B2555" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" colorMatched="NO">
<dependencies>
<development version="7000" identifier="xcode"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="11524"/>
</dependencies>

Related

Changing assemblyVersion adds version to Application.LoadComponent causing compile errors

I have a C# WPF application. It uses a small commercial framework (https://www.inosoft.com/en/product/product-features/).
I'm building this application both locally and via a buildserver (Azure pipelines). I use a marketplace task to change the assemblyinfo.cs before building: https://marketplace.visualstudio.com/items?itemName=bleddynrichards.Assembly-Info-Task
The build server executes the following tasks:
NuGet restore
Inject/Edit assemblyVersion, AssemblyFileVersion and AssemblyInformationalVersion with the right version info
Build
Now when I run this application, it starts up and runs for a while.
Quickly after starting I hook the VS debugger into the process.
Then all of the sudden the application crashes:
This is weird, because when I build locally, this runtime error does not occur.
Note that i set all properties to the same values for testing:
AssemblyVersion: 1.2.3.4
AssemblyFileVersion: 5.6.7.8
AssemblyInformationalVersion: 9.10.11.12
I then use Telerik justAssembly to compare the build output from my local build and the buildserver:
As we can see the local output (on the left) does not have a version added to the Application.LoadComponent(..) whilst the build server output (on the right) does.
public void InitializeComponent()
{
if (!this._contentLoaded)
{
this._contentLoaded = true;
Application.LoadComponent(this, new Uri("/HmiMetis;component/views/app.xaml", UriKind.Relative));
}
}
This means that this is the root cause of the runtime exception.
I find it weird that the build process on my local machine differs from the build server output. Both (should) use visual studio 2017 to build. Why does the buildserver add the version to the uri of loadComponent and my local machine does not?
Anyways, I need this exception gone.
Therefore I think the easiest way would be to force the buildserver to not add the version information under any circumstances. Is this possible and how?
Edit:
I Found a relating issue report that may have something to do with this:
https://github.com/dotnet/core/issues/3189

how to fix firebase error UISearchdisplayController is no longer supported. Migrate to UISearchController.?

Xcode 11.3 version
Xamarin.iOS version: 13.10.0.17 (Visual Studio Community)
Xamarin.Firebase.iOS.Auth version: 5.0.4.1
Xamarin.Firebase.iOS.CloudFirestore version: 0.13.3
Xamarin.Firebase.iOS.Core version: 5.1.8
I have noticed this crash recently, only with app store distributed version [Test flight build]
The two crazy things are for me :
I’m not using “UISearchDisplayController” but the required new
“UISearchController”.
Why is not crashing in local, but only on the AppStore version ?
Same application works fine in simulator without any issue. Same way if I'm installing app directly from xcode or using Diawi link it works fine.
I searched my whole project, no trace of UISearchDisplayController.
Is there any other possibility UISearchDisplayController is called elsewhere ?
Does anyone have answers for that ?
Thanks in advance
After hours of searching I have got the solution.
I have opened my Main.Storyboard in source code editor and then I have search "searchDisplayController". And I have found two instance of it.
After removing it immediately I have uploaded new build to test flight and viola, it's working!

.NET executables do not work after overwritten with new versions

I faced very strange behaviour - after I overwrite .NET exectables with new versions from network drive it cannot start.
When try to start from Windows Explorer it shows me following error:
[Window Title]
C:\Programs\zzz\clients.net\zzzNet.exe
[Content]
C:\Programs\zzz\clients.net\zzzNet.exe
The application has failed to start because its side-by-side configuration is incorrect. Please see the application event log or use the command-line sxstrace.exe tool for more detail.
I tried to execute following commands:
SxsTrace Trace -logfile:SxsTrace.etl
SxStrace Parse -logfile:SxSTrace.etl -outfile:SxSTrace.txt
And got following result:
=================
Begin Activation Context Generation.
Input Parameter:
Flags = 0
ProcessorArchitecture = AMD64
CultureFallBacks = en-US;en;ru-RU;ru
ManifestPath = C:\Programs\zzz\clients.net\zzzNet.exe
AssemblyDirectory = C:\Programs\zzz\clients.net\
Application Config File = C:\Programs\zzz\clients.net\zzzNet.exe.Config
-----------------
INFO: Parsing Application Config File C:\Programs\zzz\clients.net\zzzNet.exe.Config.
INFO: Parsing Manifest File C:\Programs\zzz\clients.net\zzzNet.exe.
INFO: Manifest Definition Identity is (null).
ERROR: Line 0: XML Syntax error.
ERROR: Activation Context generation failed.
End Activation Context Generation.
It is quite simple .NET application (1 exe + 8 dll files). It was built for .NET 3.5 Client Profile.
I not defined any special "manifest" there. Just clicked "New Windows Forms Project" in Visual Studio and developed it.
Also app.config does not contain anything special - only primitive standard settings - appSettings and userSettings sections.
On PC where I developed it all is perfectly works. Problems only began when I copy these binaries to this particular VM and try to start.
Also please note - these executables were not installed in GAC or such, I just copied them into a folder on VM and started. And when it was 1st time all was working fine.
So, the problem pattern is following:
Copy .NET execuatbles to new VM (it is Win 7 x64), run it, all is working fine. Close it.
Build new version of .NET execuatbles on host PC, copy new .NET execuatbles to VM (with files overwriting).
Try to start - got mentioned problem.
After some shaman-style actions (like OS reboot, etc) it begin to work but why that happened at all?!
Why replacing .NET executables with new versions is causing SUCH HUGE PROBLEMS?!
Also the BIG QUESTION - is there any special procedure to replace .NET executables to keep them working? Because it is a new app development, I do not want lost so much time on every new executables installation. :-\
Could you please help? Because it looks completely weird!
Thank you in adance.
PS. I checked all VS projects - all they have PlatformTarget=AnyCPU. Also in run-time I can see ProcessType=MSIL (I show this info in AboutBox for application). So, there is no mix of x86/x64 binaries.
It seems that was related to mapped network drive behavior.
When I copied new files from network drive folder it copied wrong files - a strange random mess of new files and older ones (which were there before I updated them on VM host).
The scenario to make it working:
on VM: delete all files in a folder on network drive
on VM host: copy new files into a folder which is mapped as network drive on VM
on VM: copy files into target folder
on VM: run application - it works now
Weird thing. I remember I have seen something similar with Windows Explorer on Windows 2008 behaviour when copying updated win32 binaries.

Can't connect to Xamarin on Mac from Visual Studio

I have Xamarin installed both on my Visual Studio 2015 and my MacBook Pro with OS X 10.11.4. The problem is that when I try to connect from VS to OS X, it says that for some reason it can't start the Designer agent.
As far as I see from the log the main problem is in this:
Xamarin.VisualStudio.IOS.MacServer Error: 0 : [2016-04-03 21:21:44.1336] An error occured starting the Designer 4.0.3.214 agent: Xamarin.Messaging.Client.AgentConsoleRunner Information: 0 : ==== :: Xamarin :: 4.0.3.214-cycle6-c6sr3+0dd817c ====
Xamarin.Messaging.Client.AgentConsoleRunner Information: 0 : Starting Designer 4.0.3.214...
Failed-Native type size mismatch between Xamarin.Mac.dll and the executing architecture. Xamarin.Mac.dll was built for 32-bit, while the current process is 64-bit.
Is there any way to fix it? Btw, here is the full log http://pastebin.com/iB6X0XWe
I see a number of issues in that log. One that caught my eye is that it failed to download provisioning profiles. Make sure that XCode is installed (and up to date) and that you can run it. You might also need to log in to the Apple dev portal and accept a license agreement - sometimes the portal will block some actions if there is a pending agreement.
Also, it looks like your Xamarin install on OSX might be slightly different (or might be on different channel):
There is a mismatch between the installed Xamarin.iOS (version 9.6.1.9) on the Mac MacBook-Pro-Andrey.local (192.168.0.3) and the local Xamarin.iOS 9.6.1.8. While this may not be an issue, it might cause unexpected behaviors. When applying updates, make sure to keep both the Mac and Windows in sync.
I would fix that first before doing anything else.

Upgrading wp8 to wp8.1 silverlight, debugger cannot be launched

I have now had an error with VS2013 and WP8.1 silverlight for a couple of days.
I get a couple of different errors, ..Ensure unlocked screen.., AgHost.exe could not be launched, port is in use by another program and ensure the device is unlocked.
These errors came suddenly after I retarged the solution. I have no compiling errors.
Solution Attempts
Restart PC
Restart program
unregister and reregister the phone
reinstall Update 3
reinstall VS2013
Windows Phone 8 Application crash once its launched AgHost.exe' has exited with code -532265403
Install VS2015 with no luck.
reinstall VS2013 Update 4
Nothing worked. The error is also the same for emulator as well as different devices. I can however get the release mode installed. Break points can be used when using release mode, but I have to Clean, Rebuild and then deploy for every time I want to deploy the application. Further the deploy time has gone up exponentially. Before upgrading I used a maximum of 10 seconds. Now it is above a minute in wait time. :/
Anyone has a solution for this ?
Extra
If I run the solution before upgrade on device or Emulator It spins up with debugger. If then go to the updated WP81, I get a popup with info Something is taking longer then normal and then it crashes with ..Ensure unlocked screen.. :/
Could it be an issue with the differen SDKS?
During a repair of all the SDKs, I found an issue with the event log, which I cleared based on The Event Log File is full
Still no success.
Extra
I cannot spin up the emulator from VS2013, when using the WP8.1 solution, but the wp8.0 solution in the same VS works :S
I found an error in a log file, from:
The errors are:
[0F08:14A8][2015-07-23T09:11:44]: Applying execute package: silverlight5_DRT, action: Repair, path: C:\ProgramData\Package Cache\DEB5078B60B74431E2830831EB48DF129CB32932\packages\Silverlight\5.0_DRT\Silverlight_Developer.exe, arguments: '"C:\ProgramData\Package Cache\DEB5078B60B74431E2830831EB48DF129CB32932\packages\Silverlight\5.0_DRT\Silverlight_Developer.exe" /q /ignorewarnings'
[0F08:14A8][2015-07-23T09:11:45]: Error 0x800705de: Process returned error: 0x5de
[0F08:14A8][2015-07-23T09:11:45]: Error 0x800705de: Failed to execute EXE package.
[0550:0E74][2015-07-23T09:11:45]: Error 0x800705de: Failed to configure per-machine EXE package.
[0550:0E74][2015-07-23T09:11:45]: MUX: Installation size in bytes for package: silverlight5_DRT MaxAppDrive: 0 MaxSysDrive: 0 AppDrive: 0 SysDrive: 0
AND
[0F08:14A8][2015-07-23T09:16:16]: Applying execute package:
{312d9252-c71c-4c84-b171-f4ad46e22098}, action: Repair, path:
C:\ProgramData\Package
Cache{312d9252-c71c-4c84-b171-f4ad46e22098}\VS2012.4.exe, arguments:
'"C:\ProgramData\Package
Cache{312d9252-c71c-4c84-b171-f4ad46e22098}\VS2012.4.exe" -repair
-quiet -burn.related.patch' [0F08:14A8][2015-07-23T09:16:23]: Error 0x80048bc7: Process returned error: 0x80048bc7
[0F08:14A8][2015-07-23T09:16:23]: Error 0x80048bc7: Failed to execute
EXE package. [0550:0E74][2015-07-23T09:16:23]: Error 0x80048bc7:
Failed to configure per-machine EXE package.
Anybody knows what to do with this? The error is coming when I repair Windows Phone SDK 8.0
There was a post-VS2013 update for the Windows Phone 8.1 SDK, some odds that you don't have it installed since you did not need it before. The download location is here.
Getting error messages like "port is in use" when there's no obvious reason why it should be in use and seeing excessive download times is also a very strong selector for your installed anti-malware product getting in the way. No specific advice on how to configure it when we don't know what it might be. You definitely first want to try to temporarily disable it so you can identify it as the source of the problem.
I have no Idea of what is the issue, but creating a new solution and importing the existing projects into a new solution has solved all the issues regarding emulator and debugger an AgHost.
Seems like the upgrade function integrated in the solution did not work properly.

Categories