Haruma-K/uPalette

Fails to compile for uwp

Closed this issue · 7 comments

UnityException: Failed to run reference rewriter with command

This could be a conflict using MRTK, I haven't been able to rule out all dependencies yet,

Thanks for your issue.
I would like to receive details of the error.

It turns out the whole stack wasn't sent to the unity console. After looking in the editor log I found that it was complaining about not being able to find
System.Reactive.Core.dll
I copied that dll from the unity install into the project and it compiled just fine

Glad it worked out.
Since uPalette does not use System.Reactive.Core.dll, I suspect the problem is outside uPalette.
I will close this issue, but please let me know if there are any more problems.

It does work to compile the sln when I bundle that dll, but it still throws 200 related errors when building the appx. It definitely seems like it is related to uPalette. The errors go away when I remove uPallete. Here' the full error:

Error: type `System.ObservableExtensions` doesn't exist in target framework. It is referenced from uPalette.dll at System.Void uPalette.Runtime.Core.Model.Palette`1::UnityEngine.ISerializationCallbackReceiver.OnAfterDeserialize().
Catastrophic failure while running rrw: Mono.Cecil.AssemblyResolutionException: Failed to resolve assembly: 'System.Reactive.Core, Version=2.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'

I was able to fix this by removing using System; in a few files. I did sort of a blanket hack, so I'm not sure entirely where the problem was, but I did notice that lines like
ValueSynchronizerBase:78
where it calls
value.Subscribe, was referencing System.ObservableExtensions, when it should have been using ObservableImplExtensions.

So maybe there's just a more explicit way to disambiguate the two.

@pajama
I think this problem is related to #8.
But, the uPalette runtime assembly does not reference System.Reactive.Core, so I don't know why the error occurs.

I do not have enough information, please give me the following information.

  • Your Unity version
  • Your uPalette version
  • Your development environment information
  • Minimal repro project or repro procedure
  • Will it reproduce on other platforms(e.g. Android)?

Also, just to confirm, did you install uPalette from Package Manager as per the manual?