XAML parsing exception unless XBF is disabled - xaml

UWP project, C#. The main page XAML is quite involved and contains numerous custom classes, so I won't be pasting it here.
When I load the app, I get an exception: XamlParseException, the message is "XAML parsing failed." No InnerException, HRESULT is 0x802b000a.
HOWEVER, if I disable XAML compilation by inserting <DisableXbfGeneration>true</DisableXbfGeneration> into the project file, it loads and generally works.
How's that even possible? Either XAML is valid or it's not. Any hint on debugging this would be welcome.

Related

DevExpress InvalidDeploymentException during drag and drop

When I drag and drop text from one DevExpress rich edit control to another, very often the program will crash with the exception thrown: "System.Deployment.Application.InvalidDeploymentException" and an exit code of 0xc0000409 (which Google tells me is a Status_Stack_Buffer_Overflow, maybe, or maybe any fail fast error). I'll add that the crash occurs during the drag, before I have a chance to drop it.
The only thing I can find on the DevExpress site is a claim that I can safely ignore InvalidDeploymentExceptions because they are handled internally. I've told Visual Studio to ignore them, and nothing doing. I've tried handling unhandled exceptions, but apparently fail fast errors fail too fast for that. Any ideas what the problem might be or what I can do about it?

Windows Phone Background Agents - Custom Control causing Unknown parser error: Scanner 2147500037

I am attempting to use a custom control for a live tile in my background agent. I have my live tiles successfully generating with user controls, but I now want to reference a custom control in my user control Xaml. At design time everything looks correct, no errors and I see the custom control presented in the designer, but when I run the app and the background agent runs, I receive this error:
Unknown parser error: Scanner 2147500037
The position noted in the error is the location in the Xaml where I have my custom control. If I remove the custom control the error goes away.
The custom control I am attempting to use (and its source code) can be found here:
http://blogs.u2u.net/diederik/post/2013/11/05/A-Modern-UI-radial-gauge-control-for-Windows-Phone-8-apps.aspx
I do not believe there are any references in this custom control to anything that cannot run in a background agent, so I am wondering if there is some limitation in general to using custom controls in background agents for windows phone?
If anyone has any ideas as to the cause of this error, please let me know.
I was not able to get the control to work but refactored the code to implement the straight Xaml rather than using the control. The end result is the same as what the control offered, but more complicated.

VS2012/ Blend 5: Debugging an Exception (only) occurring in design view

I'm developing a Metro-style app (for Windows 8) using C# and XAML. I have set up my viewmodels to be used as design-time datacontexts, like so:
xmlns:vm="using:hub.ViewModels"
d:DataContext="{d:DesignInstance IsDesignTimeCreatable=True, Type=vm:ViewModels
My app appears to work perfectly when run, but in the design views of both VS 2012 and Blend, I occasionally get this (unhelpful) error message:
An Exception was thrown. TargetException: Error in the application.
Stacktrace
at System.ComponentModel.PropertyChangedEventHandler.Invoke(Object sender, PropertyChangedEventArgs e)
InnerException: None
This only happens in the design view - meaning I can't set breakpoints around all my INotifyPropertyChanged() events.
What is the best approach to debugging design-time errors?
If this happens consistently or semi-consistently, you can attach the debugger to the XAML designer:
Start Visual Studio; open your project and open a XAML file, causing the XAML designer to load
Start a second instance of Visual Studio. Open your project but make sure no XAML documents are open.
Ensure that Just My Code is disabled: From the Tools menu, select Options. Select the Debugging category. In the General page, ensure the check box next to Enable Just My Code is unchecked.
From the Debug menu, select Exceptions... and check the Thrown check box next to Common Language Runtime Exceptions. This will enable first chance handling of all CLR exceptions. If you know the specific type of the exception, you can enable first chance handling for just that type.
From the Debug menu, select Attach to Process. In the Attach to: field, click Select... and check the Managed (v4.5, v4.0) entry in the list and click OK.
This is necessary because the debugger may misdetect the process as a native process if it attaches while the process is executing native code. If your project contains native code, you'll want to check the Native check box in the list as well (you can debug both managed and native code at the same time).
In the Available Processes list box, find the xdesproc.exe that corresponds to your project and click Attach.
If there are multiple processes (usually because you have multiple projects open or because the designer is reloading or has recently reloaded), it can be difficult to determine which designer process belongs to which Visual Studio instance. It's often easiest just to attach to all of them. A tool like Process Explorer can help you figure out which designer process belongs to which instance of Visual Studio.
Note: Do not attach the debugger to a designer process (xdesproc) that belongs to the same instance of Visual Studio that you are using for debugging: doing so is likely to cause Visual Studio to hang. You must always use two different instances of Visual Studio.
Do whatever you need to do to repro the bug. When it occurs, the debugger will break at the point where the exception is thrown. The debugger should load the symbols for your assemblies.
I got here while looking for info on how to debug designer time instance problems, though I did not have the same problem as rikkit. But...I'm sharing the solution to a related issue just in case others having the same problem reach here as well:
Make sure you have the "Enable/Disable Project Code" toggle set to "enabled"...in VS/Blend 2015 it's a small icon below the XAML editor
as shown here.
If it's disabled, this could be the reason your design time instance doesn't seem to be working.
Further, if it's disabled and you attempt to debug using a second VS instance, then when you attach to the XDesProc any breakpoints you set in the code-behind will report that they "will not currently be hit. [because] No symbols have been loaded for this document".
You might think that you need to somehow load the symbols, but if you open up the Modules window attempting to do so, you won't even see your module in the listing.
I lost a couple hours on this issue because of this setting being disabled. Hope this helps others not do the same.
I'm not sure about it but I believe you can check for the IsInDesignModeProperty Field. I remeber having to do so on WinForms sometimes.
Also take a look at this link Troubleshooting WPF Designer Load Failures

Showing DialogBox and MessageBox from DLL

I'm buisy on a DirectX10 game engine and i'm having a problem which has nothing to do with DirectX :P The problem is that in the DLL which contains the engine sometimes a DialogBox is called, just like you would do in normal win32. With the only difference that instead of the HINSTANCE i use the HMODULE which i get when loading the DLL.
Everything seems to be working fine, if i step through my code with F10 (Visual C++ 2008) i can even see it going through my DlgMessageProc function and do everything it should do. The only weird thing is that no dialog is shown and that all of a sudden it jumps out of the message loop and just continues with the rest of the code???
Weirly engough I have the same problem when calling MessageBox from inside my DLL, I get no errors, everything seems to be working fine but no window is shown, nor is the code halted (as normal with messageboxes)
The funny thing is that I have some code from a book which uses the same basic architecture as me and if i compile that everything shows just fine??
So my question, is there any hidden option, pragama comment or other thing i should look at if i want to be able to show MessageBoxes and Dialogs from my Dll?
No as i thought, chaning the manifest doesn't help at all. I also created a separate project where i just test the dialog and its proc function and there everything works perfect (links to a .exe instead of dll)
In the visual studio resource editor's property page for the dialog resource there should be an option in which you can specify - "No Fail Create: True".
Usually dialogs fail to create because a common control cannot be created - usually because InitCommonControlsEx has not been called. Setting the No Fail Create flag lets you see dialog and determine which controls are missing.
Other things to check:
Is there a message in the debug window about a first chance exception? Perhaps its 'jumping out' because of an exception that is being caught and silently handled by Win32. Turn on debugging of first chance win32 exceptions in the Dev Studio exceptions dialog to track that down.
Even this wouldn't explain how a MessageBox call would fail to create a message box.
The only times Ive seen MessageBox fail to work were when:
Resource leaks had made the process run out of available user32 handles - have you checked your apps handle counts using task manager?
the system was in the process of being shut down. Have you called PostQuitMessage and then tried to create a dialog/MessageBox?

Silverlight 2 User Control - Unknown attribute name on element

Update:
Screenshot http://farm4.static.flickr.com/3277/3048788466_661e8e5e78_b.jpg
To reproduce:
Get this sample project from Silveright.net - http://download.microsoft.com/download/5/9/2/5922d533-7ed5-4065-a138-ce3d9ca266e5/4-UserControls_Source_CS.zip
Open the UserControlDemo Solution. Then on Line 9 of Page.xaml, you'll see the error.
http://download.microsoft.com/download/5/9/2/5922d533-7ed5-4065-a138-ce3d9ca266e5/4-UserControls_Source_CS.zip
I'm creating a User Control in Silverlight 2 using this as my guide.
The problem is that when I use my User Control in Page.xaml, the XAML canvas shows this error: "Unknown attribute Name on element ... ."
Due to this error, I can no longer preview my XAML canvas. The strange thing is that the project still builds and renders my User Control beautifully.
Upon investigating the problem, I've found out the the cause of the problem was that my User Control was using a Style which is a StaticResource. When I remove this Style Property, the error in my Page.xaml XAML file disappears.
This error has been talk about in other online threads but unfortunately to no resolve.
I'm using the latest release and service packs of Visual Studio 2008 and Silverlight 2.
Is there something wrong with what I'm doing or is this a VS/Silverlight bug?
Thanks in advance!
In my experience the Visual Studio XAML designer, especially with Silverlight, will crap out for pretty much anything. I can't open a XAML file without all sorts of those mysterious errors and when it does render in the designer, it's not usually very useful.