Closed GoogleCodeExporter closed 8 years ago
I just discovered that, if you place HOTween in Unity's "Plugins" folder, Win 8
Store compilation will generate errors like these (which is super weird, but,
you know, Unity :P). So just place all HOTween files somewhere else other than
the Plugins folder, and it will work.
Original comment by daniele....@gmail.com
on 2 Jun 2014 at 7:41
I just realized this might be another issue, with new methods required for 8.1,
which seems crazy because I know for sure everything worked with previous
Windows Store versions (thanks to users publishing on it). Can you try that
"plugins" trick I mentioned, and let me know if you still have this issue
(which I suppose you will still have).
Original comment by daniele....@gmail.com
on 2 Jun 2014 at 11:09
Original comment by daniele....@gmail.com
on 2 Jun 2014 at 11:10
Unfortunately that did not solve the problem. It does not seem to prevent the
App from building and deploying on Win8.1 or on a Tablet. I will try to build a
8.1 package and run it thru the WACK to see if it barfs out any errors.
Original comment by paul.t.h...@gmail.com
on 3 Jun 2014 at 2:56
Building the package and running thru the WACK produces no errors and PASSes.
Will let you know if I encounter any errors when submitting to the App Store.
Original comment by paul.t.h...@gmail.com
on 3 Jun 2014 at 4:30
I get the same kind of errors too, in Windows 8.1 and Unity 4.5 (4.3.4 works).
Moving the HoTween files to another folder does not seem to help. The Visual
Studio project is not buildable in my case. There seems to be some unprocessed
dlls in a folder, that the project does not find. It seems the VS solution
building was interrupted before it could finish properly.
Reference Rewriter: Error: method `System.Reflection.PropertyInfo
System.Type::GetProperty(System.String)` doesn't exist in target framework. It
is referenced from HOTween.dll at System.Void
Holoville.HOTween.TweenParms::InitializeObject(Holoville.HOTween.Tweener,System.
Object).
Original comment by jari.tau...@gmail.com
on 4 Jun 2014 at 11:18
Make sure you are using the micro version of hotween
Original comment by paul.t.h...@gmail.com
on 4 Jun 2014 at 7:32
The same project works in Unity 4.3.4, so I'm pretty sure I'm using the correct
version of hotween for Windows Store builds. It just seems something in the
Unity's plugin handling has changed. Like it was not vague before.
Original comment by jari.tau...@gmail.com
on 4 Jun 2014 at 7:49
I'm afraid this means they added additional restrictions there (kind of absurd
that Microsoft limits their own libraries on their platforms, while other OS
don't). I think I know the solution, but the annoying thing is that it means
I'll have to make an HOTween build just for Windows Store.
I'll first try to whip up a common Micro build and post it here (hopefully
tomorrow, but probably Friday or even the weekend): if then you could see if it
works both on Win 8.1 and iOS it would be great. Otherwise, I'll have to resort
to the separate build.
Original comment by daniele....@gmail.com
on 4 Jun 2014 at 8:22
Its strange i dont have the same issue. I am using 4.5 as well. Maybe u have
other conflicting dll in the project?
Original comment by paul.t.h...@gmail.com
on 4 Jun 2014 at 8:57
[deleted comment]
I'll test it tomorrow with a new empty project. Hopefully it will work properly.
Original comment by jari.tau...@gmail.com
on 4 Jun 2014 at 9:04
Crossing my fingers. Let me know :)
Original comment by daniele....@gmail.com
on 4 Jun 2014 at 9:51
I created empty project without Hotween, it builds and runs correctly. Then I
added the v1.3.100 hotween micro (unity inspector verifies; this is the micro
version...). Building the Windows Store project in unity fails with three
errors:
--------------------------------------------
Reference Rewriter: Error: method `System.Reflection.MethodInfo
System.Reflection.PropertyInfo::GetGetMethod()` doesn't exist in target
framework. It is referenced from HOTween.dll at System.Object
Holoville.HOTween.Plugins.Core.ABSTweenPlugin::GetValue().
UnityEngine.Debug:LogError(Object)
PostProcessMetroPlayer:RunReferenceRewriter(MetroSDK, String, String, String,
String) (at
C:/BuildAgent/work/aeedb04a1292f85a/PlatformDependent/MetroPlayer/Extensions/Man
aged/PostProcessMetroPlayer.cs:438)
PostProcessMetroPlayer:PostProcessSDKSpecific(MetroSDK, BuildTarget,
BuildOptions, String, String, ProjectImages) (at
C:/BuildAgent/work/aeedb04a1292f85a/PlatformDependent/MetroPlayer/Extensions/Man
aged/PostProcessMetroPlayer.cs:806)
PostProcessMetroPlayer:PostProcess(BuildTarget, BuildOptions, String, String,
String, String) (at
C:/BuildAgent/work/aeedb04a1292f85a/PlatformDependent/MetroPlayer/Extensions/Man
aged/PostProcessMetroPlayer.cs:636)
UnityEditor.HostView:OnGUI()
-----------------------------------------------------------------
Reference Rewriter: Error: method `System.Reflection.PropertyInfo
System.Type::GetProperty(System.String)` doesn't exist in target framework. It
is referenced from HOTween.dll at System.Void
Holoville.HOTween.TweenParms::InitializeObject(Holoville.HOTween.Tweener,System.
Object).
UnityEngine.Debug:LogError(Object)
PostProcessMetroPlayer:RunReferenceRewriter(MetroSDK, String, String, String,
String) (at
C:/BuildAgent/work/aeedb04a1292f85a/PlatformDependent/MetroPlayer/Extensions/Man
aged/PostProcessMetroPlayer.cs:438)
PostProcessMetroPlayer:PostProcessSDKSpecific(MetroSDK, BuildTarget,
BuildOptions, String, String, ProjectImages) (at
C:/BuildAgent/work/aeedb04a1292f85a/PlatformDependent/MetroPlayer/Extensions/Man
aged/PostProcessMetroPlayer.cs:806)
PostProcessMetroPlayer:PostProcess(BuildTarget, BuildOptions, String, String,
String, String) (at
C:/BuildAgent/work/aeedb04a1292f85a/PlatformDependent/MetroPlayer/Extensions/Man
aged/PostProcessMetroPlayer.cs:636)
UnityEditor.HostView:OnGUI()
-------------------------------------------------------------------
Reference Rewriter: Error: method `System.Reflection.FieldInfo
System.Type::GetField(System.String)` doesn't exist in target framework. It is
referenced from HOTween.dll at System.Void
Holoville.HOTween.TweenParms::InitializeObject(Holoville.HOTween.Tweener,System.
Object).
UnityEngine.Debug:LogError(Object)
PostProcessMetroPlayer:RunReferenceRewriter(MetroSDK, String, String, String,
String) (at
C:/BuildAgent/work/aeedb04a1292f85a/PlatformDependent/MetroPlayer/Extensions/Man
aged/PostProcessMetroPlayer.cs:438)
PostProcessMetroPlayer:PostProcessSDKSpecific(MetroSDK, BuildTarget,
BuildOptions, String, String, ProjectImages) (at
C:/BuildAgent/work/aeedb04a1292f85a/PlatformDependent/MetroPlayer/Extensions/Man
aged/PostProcessMetroPlayer.cs:806)
PostProcessMetroPlayer:PostProcess(BuildTarget, BuildOptions, String, String,
String, String) (at
C:/BuildAgent/work/aeedb04a1292f85a/PlatformDependent/MetroPlayer/Extensions/Man
aged/PostProcessMetroPlayer.cs:636)
UnityEditor.HostView:OnGUI()
------------------------------------------------------------------
The resulting Visual studio solution is not buildable, I guess it could be
hacked to work, but I don't think it is the right solution.
The build settings I have set in Unity 4.5.0f6:
Type: XAML C# Solution
SDK: 8.1
Debugging: All unchecked
Maybe it is my setup. I don't have any idea how unity determines if something
is available in the target framework, the problem might be in my setup.
Original comment by jari.tau...@gmail.com
on 5 Jun 2014 at 7:38
I tested the bare bones project with Unity 4.3.4, and yes it builds fine. Unity
has changed something either intentionally or not for the 4.5 or there is
something weird going on. Somebody else should test this too.
Original comment by jari.tau...@gmail.com
on 5 Jun 2014 at 9:34
I investigated more, and the problem seem to be that Microsoft Win Store
libraries want GetRuntimeMethod instead than GetGetMethod (and such). Problem
is, Unity doesn't support Win Store libraries (NET 4.5) and as such there's no
way to implement GetRuntimeMethod. Apparently, previously they used the
internal compiler to solve this issue, but with the new release they don't do
that anymore. I would assume that this will be solved soon, either by Unity
implementing GetRuntimeMethod and all relative methods, or by them going back
to the previous system, since otherwise any use of Reflection is broken on Win
Store.
That said, I'm afraid the only possible solution for now is to wait until the
next Unity update, hoping it will solve the problem, while in the meantime
using Unity 4.3.4 to publish for Win Store.
Original comment by daniele....@gmail.com
on 5 Jun 2014 at 12:26
Original comment by daniele....@gmail.com
on 5 Jun 2014 at 12:26
jari - I get the EXACT same errors in Unity 45. what version of VS are you
using? I am using VS Express 2013 for Windows Update 2, and I am able to build
my project even with those error messages from Unity.
Original comment by paul.t.h...@gmail.com
on 5 Jun 2014 at 12:26
P.S. Paul, at this point it's a mystery why it works for you on Unity 4.5 *_*
Original comment by daniele....@gmail.com
on 5 Jun 2014 at 12:27
Paul. WTF? I was using VS 2013 Professional with Update1 (I'm guessing). I
installed Update 2. Voilá! It works. Yes, I still get the errors in Unity, but
the visual studio solution builds correctly. I tried with our real game also,
and it seems to work fine too... I don't even...
Thanks Paul
Original comment by jari.tau...@gmail.com
on 5 Jun 2014 at 1:29
It should also pass WACK like mine did. My guess is that there is a new library
that removes the dependency and lets it go thru. I am glad I mentioned it and
that it works for you.
Original comment by paul.t.h...@gmail.com
on 5 Jun 2014 at 10:18
I forgot to mention that I'm glad you solved this guys :)
Original comment by daniele....@gmail.com
on 10 Jun 2014 at 1:03
Please fix this asap. I've got this issue with hotween micro 1.3.550 building
in Unity 4.5.2f for Windows 8.1 Store
Original comment by nospam...@gmail.com
on 18 Jul 2014 at 9:51
This is fixed, please read the thread to see the solution
Original comment by daniele....@gmail.com
on 18 Jul 2014 at 9:54
You mean go back to Unity 4.3.4? That's the point? Just confirm.
Original comment by nospam...@gmail.com
on 18 Jul 2014 at 10:15
Nono. Apparently you just need to upgrade Visual Studio to the latest version
(see post #20). If you don't have Visual Studio, just install the latest VS
Express (it's free): it will upgrade your NET libraries too, which apparently
allows to build for WP8 (even if you still get some build errors, but then
everything works). That is, until Unity fixes this bug introduced with its
latest version.
Original comment by daniele....@gmail.com
on 18 Jul 2014 at 10:50
I'm currently in Visual Studio 2013 Update 2. I just compiled for WP8 without
issues with the same Hotween Micro. The issue happens for Windows 8.1 Store. In
fact I did the complete reinstallation of my system yesterday.
Microsoft Visual Studio Ultimate 2013
Versión 12.0.30501.00 Update 2
Microsoft .NET Framework
Versión 4.5.51641
Versión instalada: Ultimate
Architecture and Modeling Tools 06181-004-0449004-02083
Herramientas de arquitectura y modelado de Microsoft
UML® y Unified Modeling Language™ son marcas comerciales o marcas
registradas de Object Management Group, Inc. en Estados Unidos y otros países.
Corrector ortográfico de Análisis de código de Visual Studio 2013
06181-004-0449004-02083
Corrector ortográfico de Análisis de código de Microsoft® Visual Studio®
2013
Partes de International CorrectSpell™ spelling correction system © 1993 por
Lernout & Hauspie Speech Products N.V. Todos los derechos reservados.
The American Heritage® Dictionary of the English Language, Third Edition
Copyright © 1992 Houghton Mifflin Company. Versión electrónica bajo licencia
de Lernout & Hauspie Speech Products N.V. Todos los derechos reservados.
LightSwitch para Visual Studio 2013 06181-004-0449004-02083
Microsoft LightSwitch para Visual Studio 2013
Office Developer Tools - Actualización de mayo de 2014 - ESN
06181-004-0449004-02083
Microsoft Office Developer Tools para Visual Studio 2013 - Actualización de
mayo de 2014 - ESN
Team Explorer para Visual Studio 2013 06181-004-0449004-02083
Microsoft Team Explorer para Visual Studio 2013
Visual Basic 2013 06181-004-0449004-02083
Microsoft Visual Basic 2013
Visual C# 2013 06181-004-0449004-02083
Microsoft Visual C# 2013
Visual C++ 2013 06181-004-0449004-02083
Microsoft Visual C++ 2013
Visual F# 2013 06181-004-0449004-02083
Microsoft Visual F# 2013
Windows Phone SDK 8.0 - ESN 06181-004-0449004-02083
Windows Phone SDK 8.0 - ESN
Administrador de paquetes NuGet 2.8.50313.46
Administrador de paquetes NuGet en Visual Studio. Para obtener más
información acerca de NuGet, visite http://docs.nuget.org/.
ASP.NET Web Frameworks and Tools 2012.2 4.1.21001.0
For additional information, visit http://go.microsoft.com/fwlink/?LinkID=309563
ASP.NET Web Frameworks and Tools 2013 5.1.20409.0
For additional information, visit http://www.asp.net/
ASP.NET y herramientas web 2013.2.50425
Microsoft Web Developer Tools contiene los siguientes componentes:
Compatibilidad para crear y abrir proyectos web ASP.NET
Vínculo de explorador: canal de comunicación entre Visual Studio y los
exploradores
Extensiones de editor para HTML, CSS y JavaScript
Inspector de página: herramienta de inspección para proyectos web ASP.NET
Scaffolding: un marco para generar y ejecutar generadores de código
Extensiones de explorador de servidores para sitios web de Windows Azure
Publicación web: extensiones para publicar proyectos web ASP.NET en
proveedores de hospedaje, servidores locales o Windows Azure
Herramientas comunes de Windows Azure 1.1
Ofrece servicios comunes para su uso con los servicios móviles de Windows
Azure y Windows Azure Tools.
Herramientas de servicios móviles de Windows Azure 1.1
Herramientas de servicios móviles de Windows Azure
Herramientas de Workflow Manager 1.0 1.0
Este paquete contiene los componentes de integración de Visual Studio
necesarios para Workflow Manager.
Integración del SDK de Windows Phone 8.1 1.0
Este paquete integra las herramientas del SDK de Windows Phone 8.1 en los
menús y los controles de Visual Studio.
Kit de herramientas para aplicaciones multilingües 3.1.1085.0
El Kit de herramientas para aplicaciones multilingües le ayuda a localizar su
aplicación de la Tienda Windows al proporcionar administración de archivos,
seudotraducción y traducción automática, editor de traducciones e
integración de compilación. http://go.microsoft.com/fwlink?linkid=245767
Microsoft Advertising SDK for Windows Phone 8
Microsoft Advertising SDK for Windows Phone 8
Build
PreEmptive Analytics Visualizer 1.2
Extensión de Microsoft Visual Studio para visualizar los resúmenes agregados
desde el producto PreEmptive Analytics.
SQL Server Data Tools 12.0.30919.1
Microsoft SQL Server Data Tools
Original comment by nospam...@gmail.com
on 18 Jul 2014 at 11:03
I read the post #20 and I really can not believe how to give credit to that guy
when he's saying it still get the errors in Unity. If there are errors, simply
the CSharpxxxxxx.dll of the Unity project is not built. So you don't have
nothing. It is true you can import your project to the Visual Studio, but when
you try to compile it, breaks a lot of things, because 90% of your project
which is compiled by Unity with the .NET Framework in the Build option of unity
has not been completed. So the dll's are missing. Only this didn't fail for you
if you already had an old compilation, because Unity does not remove the files.
It does overwrite. So if it can not generate the dll it doesn't overwrite. So
you believe you're compiling, but really believe me it is failing :) I've got
some experience in this after 20 games released.
Thanks for listen to me.
Original comment by nospam...@gmail.com
on 18 Jul 2014 at 11:09
Uhm then this is a full-on bug. Sorry for that. I will push the Unity guys to
see if they can release a patch that fixes this (the problem is the one I
evidenced at #16, and apparently I can't do anything about it since all
Reflection is broken until they fix it).
About those errors appearing anyway, Unity can actually throw errors when
building but still build everything. It depends on the errors :)
Original comment by daniele....@gmail.com
on 18 Jul 2014 at 11:20
Because Unity is reporting to me just 3 errors, two of them consist of
System.String, it could be possible to find a workaround. Maybe you don't
believe me but we're right now release our new game, for Android, (just
uploaded), iOS uploading, MacOS uploading, and Windows Phone uploading. We got
the Windows Store release stop because of this.
Thank you.
Original comment by nospam...@gmail.com
on 18 Jul 2014 at 11:27
I totally believe you, that's why I re-opened this issue and posted a warning
on Unity's forums (and will later update HOTween's website). I'm very sorry
about this problem, and I just pushed the Unity guys to try to fix it, but I
can't do nothing. It's a newly introduced Unity bug (since Reflection was
working before even on Windows Store), and since it breaks Reflection there's
no workaround. I'm actually working on HOTween v2 right now, which will make no
use of Reflection, but v1 relies heavily on it (and it's a basic usage which
shouldn't be broken on any platform).
By the way, there is a slight hope that the latest patch Graham is talking
about here
http://forum.unity3d.com/threads/unity-patch-releases.246198/#post-1701826 will
solve this issue, but we'll see.
Original comment by daniele....@gmail.com
on 18 Jul 2014 at 12:07
I can confirm 4.5.2p1, which is the patch you talk about has fixed this
regression.
Thank you daniele.
Best regards.
Original comment by nospam...@gmail.com
on 19 Jul 2014 at 6:08
Great! Thank you for confirming that
Original comment by daniele....@gmail.com
on 19 Jul 2014 at 6:13
Sorry guys but it looks like 4.5.2p2 has broken things again.
Daniele, I know you cannot do much about this, but I wanted to report it
regardless. I will be switch to 4.5.1 for my beta distros while watching this
thread. There is nothing I need in 4.5.2 that is urgent.
- Paul
A first chance exception of type 'System.MissingMethodException' occurred in
HOTween.DLL
Exception: Method not found: '?'.
Type: System.MissingMethodException
Module: HOTween
InnerException: <No Data>
AdditionalInfo:<No Data>
at Holoville.HOTween.TweenParms.InitializeObject(Tweener p_tweenObj, Object p_target)
at Holoville.HOTween.Tweener..ctor(Object p_target, Single p_duration, TweenParms p_parms)
at Holoville.HOTween.HOTween.To(Object p_target, Single p_duration, TweenParms p_parms)
at SDNTweenRotate.Start()
at SDNTweenRotate.$Invoke0(Int64 instance, Int64* args)
at UnityEngine.Internal.$MethodUtility.InvokeMethod(Int64 instance, Int64* args, IntPtr method)
(Filename:
C:/BuildAgent/work/d63dfc6385190b60/Runtime/Scripting/WinRTUtility.cpp Line: 88)
MissingMethodException: Method not found: '?'.
at Holoville.HOTween.TweenParms.InitializeObject(Tweener p_tweenObj, Object p_target)
at Holoville.HOTween.Tweener..ctor(Object p_target, Single p_duration, TweenParms p_parms)
at Holoville.HOTween.HOTween.To(Object p_target, Single p_duration, TweenParms p_parms)
at SDNTweenRotate.Start()
at SDNTweenRotate.$Invoke0(Int64 instance, Int64* args)
at UnityEngine.Internal.$MethodUtility.InvokeMethod(Int64 instance, Int64* args, IntPtr method)
(Filename: TODO Line: 0)
MissingMethodException: Method not found: '?'.
at Holoville.HOTween.TweenParms.InitializeObject(Tweener p_tweenObj, Object p_target)
at Holoville.HOTween.Tweener..ctor(Object p_target, Single p_duration, TweenParms p_parms)
at Holoville.HOTween.HOTween.To(Object p_target, Single p_duration, TweenParms p_parms)
at SDNTweenRotate.Start()
at SDNTweenRotate.$Invoke0(Int64 instance, Int64* args)
at UnityEngine.Internal.$MethodUtility.InvokeMethod(Int64 instance, Int64* args, IntPtr method)
(Filename: TODO Line: 0)
First-chance exception at 0x77671D4D in kb.exe: Microsoft C++ exception:
EEMessageException at memory location 0x0A02DC28.
First-chance exception at 0x77671D4D in kb.exe: Microsoft C++ exception:
[rethrow] at memory location 0x00000000.
The thread 0xd00c has exited with code 0 (0x0).
A first chance exception of type 'System.MissingMethodException' occurred in
HOTween.DLL
Exception: Method not found: '?'.
Type: System.MissingMethodException
Module: HOTween
InnerException: <No Data>
AdditionalInfo:<No Data>
at Holoville.HOTween.TweenParms.InitializeObject(Tweener p_tweenObj, Object p_target)
at Holoville.HOTween.Tweener..ctor(Object p_target, Single p_duration, TweenParms p_parms)
at Holoville.HOTween.HOTween.To(Object p_target, Single p_duration, TweenParms p_parms)
at SDNTweenScaleThrob.Start()
at SDNTweenScaleThrob.$Invoke0(Int64 instance, Int64* args)
at UnityEngine.Internal.$MethodUtility.InvokeMethod(Int64 instance, Int64* args, IntPtr method)
(Filename:
C:/BuildAgent/work/d63dfc6385190b60/Runtime/Scripting/WinRTUtility.cpp Line: 88)
MissingMethodException: Method not found: '?'.
at Holoville.HOTween.TweenParms.InitializeObject(Tweener p_tweenObj, Object p_target)
at Holoville.HOTween.Tweener..ctor(Object p_target, Single p_duration, TweenParms p_parms)
at Holoville.HOTween.HOTween.To(Object p_target, Single p_duration, TweenParms p_parms)
at SDNTweenScaleThrob.Start()
at SDNTweenScaleThrob.$Invoke0(Int64 instance, Int64* args)
at UnityEngine.Internal.$MethodUtility.InvokeMethod(Int64 instance, Int64* args, IntPtr method)
(Filename: TODO Line: 0)
MissingMethodException: Method not found: '?'.
at Holoville.HOTween.TweenParms.InitializeObject(Tweener p_tweenObj, Object p_target)
at Holoville.HOTween.Tweener..ctor(Object p_target, Single p_duration, TweenParms p_parms)
at Holoville.HOTween.HOTween.To(Object p_target, Single p_duration, TweenParms p_parms)
at SDNTweenScaleThrob.Start()
at SDNTweenScaleThrob.$Invoke0(Int64 instance, Int64* args)
at UnityEngine.Internal.$MethodUtility.InvokeMethod(Int64 instance, Int64* args, IntPtr method)
Original comment by paul.t.h...@gmail.com
on 29 Jul 2014 at 1:35
I should mention that this is happening when running the app in Metro on tablet
or desktop.
Thanks.
Original comment by paul.t.h...@gmail.com
on 29 Jul 2014 at 1:36
Thank you for the report Paul. They apparently broke it worse than before,
since at least before the warning was more clear (but I managed to confirm that
it's the same issue). I wrote a bug report in the meantime, and hope they'll
fix this soon :/
By the way, so everything works with 4.5.1 instead?
Original comment by daniele....@gmail.com
on 29 Jul 2014 at 8:02
Yes, everything still works with 4.5.1, thanks.
Original comment by paul.t.h...@gmail.com
on 30 Jul 2014 at 12:02
Hey I created another sample bug report which should outline this issue even
better for the Unity guys. Can you open the attached project, compile it for
Win Store, run it and write me here the exception you get (which should be the
same as #79)? That way I can send it to them again
Original comment by daniele....@gmail.com
on 5 Aug 2014 at 4:45
Attachments:
Next Unity patch will finally fix the bug, but in the meantime there's a
workaround here:
http://forum.unity3d.com/threads/issue-still-fails-since-4-5-2.262643/#post-1736
712
Original comment by daniele....@gmail.com
on 16 Aug 2014 at 5:49
Original issue reported on code.google.com by
paul.t.h...@gmail.com
on 1 Jun 2014 at 8:20