Framework.UI requires strongly-named assemblies

May 22, 2014 at 9:41 AM
Hello guys,

I started using EE about 2 weeks ago. First everything worked fine, currently I'm just using the MetroWindow. Then I refactored a bit and did some stuff to improve my development workflow and since then I can't run the project. It always throws an exception in the constructor of the first window being created by my application.
The type initializer for 'System.Reactive.Linq.Observable' threw an exception.
at System.Reactive.Linq.Observable.FromEventPattern[TDelegate,TEventArgs](Action1 addHandler, Action1 removeHandler)
at Framework.UI.Controls.WindowBase..ctor()
Inner Exception 1:
Could not load file or assembly 'System.Reactive.Debugger, Version=2.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. A strongly-named assembly is required. (Exception from HRESULT: 0x80131044)
at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMarkHandle stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName, ObjectHandleOnStack type)
at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName)
at System.RuntimeType.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark)
at System.Type.GetType(String typeName, Boolean throwOnError)
at System.Reactive.PlatformServices.CurrentPlatformEnlightenmentProvider.GetService[T](Object[] args)
at System.Reactive.Linq.QueryServices.Initialize()
at System.Lazy1.CreateValue()
at System.Lazy
1.LazyInitValue()
at System.Lazy`1.get_Value()
at System.Reactive.Linq.QueryServices.GetQueryImpl[T](T defaultInstance)
at System.Reactive.Linq.Observable..cctor()
Inner Exception 2:
A strongly-named assembly is required. (Exception from HRESULT: 0x80131044)
Does anybody know how to fix this? This appeared first when I started using a little self-crafted tool which moves the build-outputs of all projects into one folder to unite all files. Could this cause any signings to be broken?
I just don't get why this occurs.. Reactive.Debugger does nowhere exist, probably it does in the GAC. But these are MS assemblies and thus all signed...

I hope somebody has an anwser, as this delays my development pretty much :(
Coordinator
May 25, 2014 at 3:01 PM
Try uninstalling and reinstalling the NuGet packages. Your problem looks like something to do with reactive extensions.
Jun 12, 2014 at 8:29 PM
I have re-installed the packages, but nothing changed. It still throws because of the Debugger. And I can't even find that thing in the Internet!? Reactive.Debugger does not exist ...

It only occurs with attached debugger...

But, I finally found a fix for it. You simply have to check for this assembly in the AssemblyResolve-event of your AppDomain.
Return null and the missing reference will be ignored (I read this should be the case all the time, but obviously it fires an exception when not catched by the Resolve-event).