Posted this to the Unity forum before finding this one - sorry for the duplication (it's still in moderation over there).
I'm getting these two errors immediately on importing Easy Save 2 (v2.6.8 according to the change log file) from the asset store (just bought today) into a fresh project (Unity 5.3.1f1):
--- Error 1 ---
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> Mono.Cecil.AssemblyResolutionException: Failed to resolve assembly: 'Windows, Version=255.255.255.255, Culture=neutral, PublicKeyToken=null'
at Mono.Cecil.BaseAssemblyResolver.Resolve (Mono.Cecil.AssemblyNameReference name, Mono.Cecil.ReaderParameters parameters) [0x00000] in <filename unknown>:0
at Mono.Cecil.BaseAssemblyResolver.Resolve (Mono.Cecil.AssemblyNameReference name) [0x00000] in <filename unknown>:0
at Mono.Cecil.DefaultAssemblyResolver.Resolve (Mono.Cecil.AssemblyNameReference name) [0x00000] in <filename unknown>:0
at Mono.Cecil.MetadataResolver.Resolve (Mono.Cecil.TypeReference type) [0x00000] in <filename unknown>:0
at Mono.Cecil.ModuleDefinition.Resolve (Mono.Cecil.TypeReference type) [0x00000] in <filename unknown>:0
at Mono.Cecil.TypeReference.Resolve () [0x00000] in <filename unknown>:0
at AssemblyUpdater.Steps.MemberReferenceReplacer.MemberReferenceReplacementForProperty (Mono.Cecil.MethodReference method) [0x00000] in <filename unknown>:0
at AssemblyUpdater.Steps.MemberReferenceReplacer.MemberReferenceReplacementFor (Mono.Cecil.MethodReference methodReference) [0x00000] in <filename unknown>:0
at AssemblyUpdater.Steps.MemberReferenceReplacer.Visit (Mono.Cecil.MethodReference methodReference, Unity.Cecil.Visitor.Context context) [0x00000] in <filename unknown>:0
at Unity.Cecil.Visitor.Visitor.Visit (Mono.Cecil.Cil.Instruction instruction, Unity.Cecil.Visitor.Context context) [0x00000] in <filename unknown>:0
at Unity.Cecil.Visitor.Visitor.Visit (Mono.Cecil.Cil.MethodBody methodBody, Unity.Cecil.Visitor.Context context) [0x00000] in <filename unknown>:0
at Unity.Cecil.Visitor.Visitor.Visit (Mono.Cecil.MethodDefinition methodDefinition, Unity.Cecil.Visitor.Context context) [0x00000] in <filename unknown>:0
at Unity.Cecil.Visitor.Visitor.Visit (Mono.Cecil.TypeDefinition typeDefinition, Unity.Cecil.Visitor.Context context) [0x00000] in <filename unknown>:0
at Unity.Cecil.Visitor.Visitor.Visit (Mono.Cecil.ModuleDefinition moduleDefinition, Unity.Cecil.Visitor.Context context) [0x00000] in <filename unknown>:0
at Unity.Cecil.Visitor.Visitor.Visit (Mono.Cecil.AssemblyDefinition assemblyDefinition, Unity.Cecil.Visitor.Context context) [0x00000] in <filename unknown>:0
at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0
--- End of inner exception stack trace ---
at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0
at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <filename unknown>:0
at Unity.Cecil.Visitor.Visitor.Visit[AssemblyDefinition] (Mono.Cecil.AssemblyDefinition node, Unity.Cecil.Visitor.Context context) [0x00000] in <filename unknown>:0
at Unity.Cecil.Visitor.Extensions.DoAccept[AssemblyDefinition] (Mono.Cecil.AssemblyDefinition definition, Unity.Cecil.Visitor.Visitor visitor) [0x00000] in <filename unknown>:0
at Unity.Cecil.Visitor.Extensions.Accept (Mono.Cecil.AssemblyDefinition assemblyDefinition, Unity.Cecil.Visitor.Visitor visitor) [0x00000] in <filename unknown>:0
at AssemblyUpdater.Steps.AssemblyUpdaterStepBase.Apply (AssemblyUpdater.Core.AssemblyUpdaterContext context) [0x00000] in <filename unknown>:0
at AssemblyUpdater.Core.AssemblyUpdaterPipeline.RunUpdateRound (AssemblyUpdater.Core.AssemblyUpdaterContext context) [0x00000] in <filename unknown>:0
at AssemblyUpdater.Core.AssemblyUpdaterPipeline.Run (AssemblyUpdater.Core.AssemblyUpdaterContext context) [0x00000] in <filename unknown>:0
at AssemblyUpdater.Application.Program.CheckForObsoleteAPIUsage (AssemblyUpdater.Application.CommandLineSpec config) [0x00000] in <filename unknown>:0
at AssemblyUpdater.Application.Program.Main (System.String[] args) [0x00000] in <filename unknown>:0
UnityEditor.Scripting.APIUpdaterHelper:DoesAssemblyRequireUpgrade(String)
--- Error 2 ---
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> Mono.Cecil.AssemblyResolutionException: Failed to resolve assembly: 'System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
at Mono.Cecil.BaseAssemblyResolver.Resolve (Mono.Cecil.AssemblyNameReference name, Mono.Cecil.ReaderParameters parameters) [0x00000] in <filename unknown>:0
at Mono.Cecil.BaseAssemblyResolver.Resolve (Mono.Cecil.AssemblyNameReference name) [0x00000] in <filename unknown>:0
at Mono.Cecil.DefaultAssemblyResolver.Resolve (Mono.Cecil.AssemblyNameReference name) [0x00000] in <filename unknown>:0
at Mono.Cecil.MetadataResolver.Resolve (Mono.Cecil.TypeReference type) [0x00000] in <filename unknown>:0
at Mono.Cecil.ModuleDefinition.Resolve (Mono.Cecil.TypeReference type) [0x00000] in <filename unknown>:0
at Mono.Cecil.TypeReference.Resolve () [0x00000] in <filename unknown>:0
at AssemblyUpdater.Steps.MemberReferenceReplacer.MemberReferenceReplacementForProperty (Mono.Cecil.MethodReference method) [0x00000] in <filename unknown>:0
at AssemblyUpdater.Steps.MemberReferenceReplacer.MemberReferenceReplacementFor (Mono.Cecil.MethodReference methodReference) [0x00000] in <filename unknown>:0
at AssemblyUpdater.Steps.MemberReferenceReplacer.Visit (Mono.Cecil.MethodReference methodReference, Unity.Cecil.Visitor.Context context) [0x00000] in <filename unknown>:0
at Unity.Cecil.Visitor.Visitor.Visit (Mono.Cecil.Cil.Instruction instruction, Unity.Cecil.Visitor.Context context) [0x00000] in <filename unknown>:0
at Unity.Cecil.Visitor.Visitor.Visit (Mono.Cecil.Cil.MethodBody methodBody, Unity.Cecil.Visitor.Context context) [0x00000] in <filename unknown>:0
at Unity.Cecil.Visitor.Visitor.Visit (Mono.Cecil.MethodDefinition methodDefinition, Unity.Cecil.Visitor.Context context) [0x00000] in <filename unknown>:0
at Unity.Cecil.Visitor.Visitor.Visit (Mono.Cecil.TypeDefinition typeDefinition, Unity.Cecil.Visitor.Context context) [0x00000] in <filename unknown>:0
at Unity.Cecil.Visitor.Visitor.Visit (Mono.Cecil.ModuleDefinition moduleDefinition, Unity.Cecil.Visitor.Context context) [0x00000] in <filename unknown>:0
at Unity.Cecil.Visitor.Visitor.Visit (Mono.Cecil.AssemblyDefinition assemblyDefinition, Unity.Cecil.Visitor.Context context) [0x00000] in <filename unknown>:0
at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0
--- End of inner exception stack trace ---
at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0
at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <filename unknown>:0
at Unity.Cecil.Visitor.Visitor.Visit[AssemblyDefinition] (Mono.Cecil.AssemblyDefinition node, Unity.Cecil.Visitor.Context context) [0x00000] in <filename unknown>:0
at Unity.Cecil.Visitor.Extensions.DoAccept[AssemblyDefinition] (Mono.Cecil.AssemblyDefinition definition, Unity.Cecil.Visitor.Visitor visitor) [0x00000] in <filename unknown>:0
at Unity.Cecil.Visitor.Extensions.Accept (Mono.Cecil.AssemblyDefinition assemblyDefinition, Unity.Cecil.Visitor.Visitor visitor) [0x00000] in <filename unknown>:0
at AssemblyUpdater.Steps.AssemblyUpdaterStepBase.Apply (AssemblyUpdater.Core.AssemblyUpdaterContext context) [0x00000] in <filename unknown>:0
at AssemblyUpdater.Core.AssemblyUpdaterPipeline.RunUpdateRound (AssemblyUpdater.Core.AssemblyUpdaterContext context) [0x00000] in <filename unknown>:0
at AssemblyUpdater.Core.AssemblyUpdaterPipeline.Run (AssemblyUpdater.Core.AssemblyUpdaterContext context) [0x00000] in <filename unknown>:0
at AssemblyUpdater.Application.Program.CheckForObsoleteAPIUsage (AssemblyUpdater.Application.CommandLineSpec config) [0x00000] in <filename unknown>:0
at AssemblyUpdater.Application.Program.Main (System.String[] args) [0x00000] in <filename unknown>:0
UnityEditor.Scripting.APIUpdaterHelper:DoesAssemblyRequireUpgrade(String)
---
Anything I should be worried about? I'm on a Mac, so the first error mentioning Windows seems like an obvious cause, but does this mean something's not going to work due to it getting my platform wrong?
Errors on importing to fresh project
Re: Errors on importing to fresh project
Hi Mike,
I've never seen this before, but it looks like there's a bug at Unity's end as the error is being triggered by their Editor Scripts which check for outdated assemblies. The error suggests that it's trying to process assemblies which are marked as being Windows-specific.
Firstly, I would suggest updating to their latest patch release (https://unity3d.com/unity/qa/patch-releases) to check that the issue isn't isolated to your version of Unity. After doing this, you should delete Easy Save and re-install it from the Asset Store.
If this doesn't fix your problem, please could you select Assets/Plugins/WP8/ES2.dll and let me know what platforms are checked in the Select platforms for plugin list. And then could you also do the same for Assets/Plugins/WSA/ES2.dll? It sounds like the importer might be resetting the import settings.
All the best,
Joel
I've never seen this before, but it looks like there's a bug at Unity's end as the error is being triggered by their Editor Scripts which check for outdated assemblies. The error suggests that it's trying to process assemblies which are marked as being Windows-specific.
Firstly, I would suggest updating to their latest patch release (https://unity3d.com/unity/qa/patch-releases) to check that the issue isn't isolated to your version of Unity. After doing this, you should delete Easy Save and re-install it from the Asset Store.
If this doesn't fix your problem, please could you select Assets/Plugins/WP8/ES2.dll and let me know what platforms are checked in the Select platforms for plugin list. And then could you also do the same for Assets/Plugins/WSA/ES2.dll? It sounds like the importer might be resetting the import settings.
All the best,
Joel
Re: Errors on importing to fresh project
Hmm. I need to stay in sync with a client on my version of Unity, so I'd rather avoid patch releases if possible... I'll take a look in Unity's release notes to see if they mention a fix for anything like this first. I only imported into a fresh project as a minimal test case for this issue, my real project is much more complicated.
None of the platforms are checked for either of those files, they both look like the attached image in the inspector.
None of the platforms are checked for either of those files, they both look like the attached image in the inspector.
- Attachments
-
- ES2-Settings.png (41.56 KiB) Viewed 6892 times
Re: Errors on importing to fresh project
Everything looks correct in the import settings. If you can repeat the error, would you mind sending a bug report to Unity? Their Assembly Upgrader is meant to ignore platform-specific plugins, so this is definitely a bug at their end.
In the meantime, if you're not targeting Windows Phone or Windows Store, deleting ES2.dll and MoodkieSecurity.dll from the Plugins/WP8 and Plugins/WSA folders should stop the error from re-occurring (these are the only files included with Easy Save which contain Windows-specific code).
If however you need to target these platforms, PM me your invoice number and email, and I'll see if sending you a different version of the WP8/WSA plugins fixes a problem.
All the best,
Joel
In the meantime, if you're not targeting Windows Phone or Windows Store, deleting ES2.dll and MoodkieSecurity.dll from the Plugins/WP8 and Plugins/WSA folders should stop the error from re-occurring (these are the only files included with Easy Save which contain Windows-specific code).
If however you need to target these platforms, PM me your invoice number and email, and I'll see if sending you a different version of the WP8/WSA plugins fixes a problem.
All the best,
Joel
Re: Errors on importing to fresh project
The only change related to assemblies I can find is this one:
(724547) - IL2CPP: Implemented support for Assembly.GetReferencedAssemblies and Module.GetTypes()
https://issuetracker.unity3d.com/issues ... -by-il2cpp
I don't think it's related.
It's very reproducible, the repro steps for the bug are:
1) Create a new project
2) Open Asset Store -> Download Manager
3) Download and import Easy Save 2
I'll file a bug with Unity then.
I think I can remove the Windows code for now, I might need Windows Store later on though.
(724547) - IL2CPP: Implemented support for Assembly.GetReferencedAssemblies and Module.GetTypes()
https://issuetracker.unity3d.com/issues ... -by-il2cpp
I don't think it's related.
It's very reproducible, the repro steps for the bug are:
1) Create a new project
2) Open Asset Store -> Download Manager
3) Download and import Easy Save 2
I'll file a bug with Unity then.
I think I can remove the Windows code for now, I might need Windows Store later on though.
Re: Errors on importing to fresh project
Unity bug report can be tracked here:
https://fogbugz.unity3d.com/default.asp ... cs9f3qf3af
I've sent the PM so I can give the different version of the DLLs a go - I may need Windows Store support at some point.
https://fogbugz.unity3d.com/default.asp ... cs9f3qf3af
I've sent the PM so I can give the different version of the DLLs a go - I may need Windows Store support at some point.