Search Unity

  1. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

This problem really needs a solution (Case 619196)

Discussion in 'Windows' started by Mr_Love_Gloves, Jul 12, 2014.

  1. Mr_Love_Gloves

    Mr_Love_Gloves

    Joined:
    Jul 9, 2014
    Posts:
    22
    This is probably the most annoying error because it does not show until you are finally uploading your game to the windows store, and it seems that no one has thought of a fix.

    When going through the certification stage for the windows store I always fail because of this:

    The Debug Configuration Test
    • The binary Assembly-UnityScript.dll is built in debug mode.
    Note that I have never selected development build in the build settings.
    - Yes I do in visual basic run in Release - ARM
    - When I try to run the certification in Master - ARM or x86 I get this error:
    "In order to run the Windows App Certification Kit, your project build configuration must be released and the platform must be ARM or Neutral"

    Any help on this would be greatly appropriated as I know other people are having the same problem
     
  2. Dantus

    Dantus

    Joined:
    Oct 21, 2009
    Posts:
    5,667
    Did you submit a bug report?
     
  3. Mr_Love_Gloves

    Mr_Love_Gloves

    Joined:
    Jul 9, 2014
    Posts:
    22
    To unity?? No il do that now
     
  4. Dantus

    Dantus

    Joined:
    Oct 21, 2009
    Posts:
    5,667
    That is the only way to inform Unity about issues, such that they can reproduce them. You may post here that you submitted a bug report and don't forget to write the bug number in the case that someone from Unity wants to check it.
     
  5. Mr_Love_Gloves

    Mr_Love_Gloves

    Joined:
    Jul 9, 2014
    Posts:
    22
    Submitted the bug report
     
  6. Dantus

    Dantus

    Joined:
    Oct 21, 2009
    Posts:
    5,667
    Case number?
     
  7. Mr_Love_Gloves

    Mr_Love_Gloves

    Joined:
    Jul 9, 2014
    Posts:
    22
    in title, thanks for your help by the way :D
     
  8. pudge-frog

    pudge-frog

    Joined:
    Apr 3, 2014
    Posts:
    19
    I strongly agree with Mr_love_Gloves, this error is really frustrating me. I'm participating the contest hold by Unity and Microsoft. The dead line is July 20, but now I find no way to submit my app to the store.

    What kind of contest that people can't submit the game built from Unity to Windows store?

    I really piss off because I spent half of year and a lot of budget to build the game and now I can't submit it at the dead line.

    Hope Unity should fix this soon!
     
  9. Mr_Love_Gloves

    Mr_Love_Gloves

    Joined:
    Jul 9, 2014
    Posts:
    22
    Make a new thread we need more people to see this
     
  10. Dantus

    Dantus

    Joined:
    Oct 21, 2009
    Posts:
    5,667
    No, absolutely not! It is not necessary to annoy others. You reported the bug, if more people find it useful they can post here and the thread will be more visible because many are posting!
     
  11. pudge-frog

    pudge-frog

    Joined:
    Apr 3, 2014
    Posts:
    19
    we really need help from somebody has experience in submitting game from unity to window phone store gives us some advices. Are there any work around for this problem?
     
  12. schmosef

    schmosef

    Joined:
    Mar 6, 2012
    Posts:
    852
    The official thread for the contest is here. You might want to email the Unity reps in that thread about your issue.
     
  13. pudge-frog

    pudge-frog

    Joined:
    Apr 3, 2014
    Posts:
    19
    Thanks Schmoset, I will try this.
     
  14. schmosef

    schmosef

    Joined:
    Mar 6, 2012
    Posts:
    852
    Good luck.

    I wouldn't complain if they extended the contest a month or two so that more of us can submit our games.

    My game is coming along well but the ninety-ninety rule is getting the best of me.
     
  15. Aurimas-Cernius

    Aurimas-Cernius

    Unity Technologies

    Joined:
    Jul 31, 2013
    Posts:
    3,703
    Hm, you get such error in Master build? It looks like Microsoft now explicitly require "Release" configuration?

    Can you try the followin work-aroung on a exported VS solution?
    - Rename configuration "Release" -> "Profile"
    - Then rename "Master" -> "Release"

    Please, let us know, how it goes. Thanks.
     
  16. pudge-frog

    pudge-frog

    Joined:
    Apr 3, 2014
    Posts:
    19
    Thanks Aurimas for your response, I tried your workaround but it doesn't work though. I replaced "Release" with "Profile" and "Master" with "Release" in .csproj file. As a result, the project run with "Replace" configuration, but actually "Master" configuration. However, the WACK still fails me at Debug configuration test:

    • The binary Assembly-UnityScript-firstpass.dll is built in debug mode.
    • The binary Assembly-UnityScript.dll is built in debug mode.

    I suppose that the problem is not about the fact that WACK only accepts "Release" configuration, because even I use "Master" configuration, I still can make WACK validate my .xap file by launching WACK from Start menu (not from Visual studio).

    So, in my opinion, the main source of this pain comes from 2 dll files: Assembly-UnityScript-firstpass.dll and Assembly-UnityScript.dll which always generate in Bin\ARM\Release or Bin\ARM\Master folder when I build. And until now, I still can't find which functions in my code invoke these dll files.

    Can you give me other suggestions?
     
  17. Tomas1856

    Tomas1856

    Unity Technologies

    Joined:
    Sep 21, 2012
    Posts:
    3,816
    Assembly-UnityScript-* assembles are generated from *.js scripts, sadly there's indeed a bug, at least when compiling for Windows Phone 8, the compiler code adds -debug flag for Assembly-UnityScript-*, thus it compiles with debugging information, that's why you get that failure.

    But when compiling for Windows Store Apps, everything should be compiled correctly, and Assembly-UnityScript-* should be without debugging information.

    The fix is already on the way...

    As for quick workarounds:
    * If your project is written in C# and you don't use *.js, simply remove Assembly-UnityScript* assemblies
    * You could technically copy-paste Assembly-UnityScript assemblies from Windows Store Apps generated solution, but that would be safe only, if you don't have WIndows Store Apps or Windows Phone 8 specific code wrapped with #if UNITY_WP8 or UNITY_METRO... because otherwise you might run incorrect code piece.

    Hope that helps a little.
     
  18. bibbinator

    bibbinator

    Joined:
    Nov 20, 2009
    Posts:
    507
    As Tomas says he fixed it, and we'll roll this out in a patch release from sustained engineering as soon as possible.
     
  19. pudge-frog

    pudge-frog

    Joined:
    Apr 3, 2014
    Posts:
    19
    Thanks Tomas1856. It's great to hear that there are some workarounds, I tried to delete these assembly files or replace them with the other assembly files or delete the references of 2 files in Visual studio solution, but it doesn't work.
    I think the reason is each time I build, these dll files are generated automatically in bin folder and included in .xap file (and I only need .xap file to deploy), so that deleting them in bin folder is no use.

    Sorry for my limited knowledge, but if I don't understand your guide correctly, could you show me more clearly?
     
    Last edited: Jul 14, 2014
  20. Aurimas-Cernius

    Aurimas-Cernius

    Unity Technologies

    Joined:
    Jul 31, 2013
    Posts:
    3,703
    You should put Assembly-UnityScript-* fails to Unprocessed directory in the generated solution. From there they are processed further and copied around.
    To be on a safe side, delete all others files with the same name anywhere in the solution (do it all the time or make sure the one Unprocessed folder has the latest timestamp of them all before building in VS).
     
  21. pudge-frog

    pudge-frog

    Joined:
    Apr 3, 2014
    Posts:
    19
    Sorry Tomas1856, I found the source of these dll files under main solution folder, not bin folder. So, I'll try your way again and inform later.
    Thanks!
     
  22. schmosef

    schmosef

    Joined:
    Mar 6, 2012
    Posts:
    852
    I think the .xap file is just a zip file. You can rename it to .zip, change/remove the offending dlls, then change it back to a .xap.

    There might be some checksum test to prevent this technique but it would not hurt to try.
     
  23. pudge-frog

    pudge-frog

    Joined:
    Apr 3, 2014
    Posts:
    19
    Thanks people, and Unity guys for helping me. I tried the solution of Tomas1856, and It passed WACK certification. However, if I delete these file, my game don't run, it'll jump out after splash screen. So, I guess I should copy Assembly-UnityScript.dll and Assembly-UnityScript-firstpass.dll of Windows Store project to my project as recommended by Tomas.
    Thus, I created an other project with js files in scene and build to VS2013 project. But, it's always error when generating VS2013 project (may be I lack SDK for Windows store), so I can't get these dll files.

    So, could Unity team can provide me these dll files (Windows Store version)? I'm in rush now, so I can't manage to make Unity create a Windows store project without errors.

    Many Thanks !
     
  24. Tomas1856

    Tomas1856

    Unity Technologies

    Joined:
    Sep 21, 2012
    Posts:
    3,816
  25. pudge-frog

    pudge-frog

    Joined:
    Apr 3, 2014
    Posts:
    19
    Hi guys, finally, I can build my Unity game project to Windows store VS2013 project without error. Following the guide of Tomas1856, I took 2 dll files: Assembly-UnityScript.dll and Assembly-UnityScript-firstpass.dll and pasted them to my Windows phone VS2013 project.
    Although, I see 2 new dll files have the same size with the two replaced before, my project still runs into unhandled exception. The error comes from Assembly-UnityScript.dll. So I think that may be the dll files of Windows Store can't replace those of Windows phone.
    The error informs that:
    • System.IO.FileNotFoundException:
      {System.IO.FileNotFoundException: Could not load file or assembly 'System.Runtime.InteropServices, Version=4.0.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
      File name: 'System.Runtime.InteropServices, Version=4.0.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
      at UnityEngine.Internal.$Metadata.GetUnityType(Int32 id)
      at UnityEngine.Internal.$MethodUtility.GetUnityType(Int32 id, IntPtr method)}

    • Message: Could not load file or assembly 'System.Runtime.InteropServices, Version=4.0.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
    • Source: "Assembly-UnityScript"
    • StackTrace:
      at UnityEngine.Internal.$Metadata.GetUnityType(Int32 id)
      at UnityEngine.Internal.$MethodUtility.GetUnityType(Int32 id, IntPtr method)
    When I restore 2 original dll files of Windows phone, the project run fine.
    So, could you give me an other suggestion?

    Thanks!
     
    Last edited: Jul 15, 2014
  26. Aurimas-Cernius

    Aurimas-Cernius

    Unity Technologies

    Joined:
    Jul 31, 2013
    Posts:
    3,703
    Be careful with which dll files you take.
    I would recomment to generate WSA project from Unity and take .dll files from "Unprocessed" folder. Put them to "Unprocessed" folder in your WP solution.
    These dll files are further processed (modified) when building, so you have to be careful. The unprocessed ones should be most similar, if not identical.
     
  27. pudge-frog

    pudge-frog

    Joined:
    Apr 3, 2014
    Posts:
    19
    Thank Aurimas, now I understand that I should copy from "Unprocessed" folder. However, I see that only Windows Store solution has this folder while the Windows phone solution doesn't have (I tried to export unity project to Windows phone solution many times to see if there is Unprocessed folder). Thus, when I copy "Unprocessed" folder with only 2 dll files to Windows phone solution, and delete all the other dll files named "Assembly-UnityScript" and "Assembly-UnityScript-firstpass" in other locations, these 2 file are still not generated from "Unprocessed" folder after building the solution.

    This afternoon, the new Unity version of 4.5.2 has arrived. So, does this version contain the fix for this bug?

    Thanks!
     
    Last edited: Jul 15, 2014
  28. Tomas1856

    Tomas1856

    Unity Technologies

    Joined:
    Sep 21, 2012
    Posts:
    3,816


    No, it will be release after this one.
     
  29. pudge-frog

    pudge-frog

    Joined:
    Apr 3, 2014
    Posts:
    19
    So, what should I do now?, I tried all the ways to fix this bug. I guess I must give up the unity game contest because it's not enough time for me to submit the game.
     
    Last edited: Jul 16, 2014
  30. Aurimas-Cernius

    Aurimas-Cernius

    Unity Technologies

    Joined:
    Jul 31, 2013
    Posts:
    3,703
    There is one more, very ungly way to do it. It's easy to mess things up, but as a last resort it might work:
    - Build WP8 solution from Unity
    - Find AssemblyConverter.exe under you Unity instalation and move it somewhere else
    - Build again from Unity, this time it should fail due to missing AssemblyConverter
    - Go to Temp/StagingArea under your Unity project, you'll find all your dlls there
    - These dlls are fine, except for Assembly-UnityScript.dll, that one need to be replaced by the one from "Unprocessed" folder from WSA solution
    - Manually run AssemblyConverter:
    AssemblyConverter -platform=wp80 Assembly-CSharp.dll UnityEngine.dll WinRTLegacy.dll ... <all dlls here>
    - If all goes well, now you can copy ALL these dlls to you VS solution

    ... I really hope I haven't forgotten anything...
     
    Last edited: Jul 16, 2014
  31. Tomas1856

    Tomas1856

    Unity Technologies

    Joined:
    Sep 21, 2012
    Posts:
    3,816
    Here are UnityEditor.dll/mdb files, copy them to <UnityInstallationPath>Data\Managed overwriting the older ones (backup old UnityEditor.dll/mdb if something goes wrong), this should fix your issue, and Assembly-UnityScript should be compiled without debug info.
     

    Attached Files:

  32. pudge-frog

    pudge-frog

    Joined:
    Apr 3, 2014
    Posts:
    19
    I really appreciate the effort of Tomas1856 and Unity team to help me out. I've updated the dll file that Tomas1856 uploaded here and it actually fix this bug. IT'S AWESOME.

    Thank you so much!
     
  33. Mr_Love_Gloves

    Mr_Love_Gloves

    Joined:
    Jul 9, 2014
    Posts:
    22
    Good luck with the contest dude :D
     
  34. pudge-frog

    pudge-frog

    Joined:
    Apr 3, 2014
    Posts:
    19
    Thanks dude, but I don't think I can submit my game to the contest in time because I've just submitted it to Microsoft yesterday and it'll take 5 business days + 1 day to active the game in store.
     
  35. Mr_Love_Gloves

    Mr_Love_Gloves

    Joined:
    Jul 9, 2014
    Posts:
    22
    Well hopefully it's up to 5 days and that it gets submitted before that, fingers crossed though. when it get released I would love to have a look at it :D
     
  36. fifthknotch

    fifthknotch

    Joined:
    Nov 26, 2010
    Posts:
    26
    Hey, I don't know why, but Microsoft released my game the day I sent it. No review process!! So check to see if it is already out.
     
  37. zuzzu

    zuzzu

    Joined:
    Feb 2, 2013
    Posts:
    404
    Yeah. They sometimes pass apps without certification.

    They also certify apps faster at the end of the week. It takes less than 1 day in many cases.

    You may get lucky ;)
     
  38. fifthknotch

    fifthknotch

    Joined:
    Nov 26, 2010
    Posts:
    26
    Haha yes. A brand new game, IAP, and the first update all passed in a matter of hours (not at the same time).:D
     
  39. stamenkrumov

    stamenkrumov

    Joined:
    Jun 15, 2014
    Posts:
    33
    Hi, I have the same problem when I try to verify my windows 8.0 game. I tried to replace UnityEditor.dll/mdb files but this did not worked for me.When I try to build in Unity I get this error:
    Error building Player: MissingMethodException: Method not found: 'UnityEditor.Scripting.Compilers.MicrosoftCSharpCompiler.GetNETCoreFrameworkReferencesDirectory'. My Unity version is 4.5.4. Can someone help me to solve this?
     
  40. Tautvydas-Zilys

    Tautvydas-Zilys

    Unity Technologies

    Joined:
    Jul 25, 2013
    Posts:
    10,628
    Hi,

    those DLLs were meant for Unity 4.5.2. If you have overridden them in Unity 4.5.4 - unfortunately you have corrupted your Unity installation. You will have to reinstall it.

    Good news, though - this issue was fixed a while ago. It is not present in Unity 4.5.4.
     
  41. stamenkrumov

    stamenkrumov

    Joined:
    Jun 15, 2014
    Posts:
    33
    That sounds good but I still have it :(

    Edit: I've just tried to build in Unity 4.5.3f3 and I had no problem. Why I cant build it in 4.5.4 ?
     
    Last edited: Sep 19, 2014
  42. Tautvydas-Zilys

    Tautvydas-Zilys

    Unity Technologies

    Joined:
    Jul 25, 2013
    Posts:
    10,628
    Did you uncheck "Development build" checkbox when building from Unity? What's the exact WACK output?
     
  43. stamenkrumov

    stamenkrumov

    Joined:
    Jun 15, 2014
    Posts:
    33
    Yes, development build is unchecked. This is the Validation result :

    Overall result: FAILED



    Crashes and hangs test
    PASSED
    App launch tests
    PASSED
    Crashes and hangs


    Package compliance test
    PASSED
    App manifest


    Windows security features test
    PASSED
    Binary analyzer
    PASSED
    Banned file analyzer
    PASSED
    Private code signing


    Supported API test
    PASSED
    Supported APIs


    Performance test
    PASSED
    Bytecode generation
    PASSED
    Optimized binding references


    App manifest resources test
    PASSED
    App resources validation
    PASSED
    Branding validation


    Debug configuration test
    FAILED
    Debug configuration
    • Error Found: The debug configuration test detected the following errors:
      • The binary Assembly-UnityScript.dll is built in debug mode.
      • The binary Assembly-UnityScript-firstpass.dll is built in debug mode.
    • Impact if not fixed: Windows Store doesn’t allow a debug version of an app.
    • How to fix: Please make sure the app isn’t linking to any debug versions of a framework, and it is built with release configuration. If this is a managed app please make sure you have installed the correct version of .NET framework.


    File encoding test
    PASSED
    UTF-8 file encoding


    Direct3D Feature Test
    PASSED
    Direct3D feature level support
    PASSED
    Direct3D Trim after Suspend


    App Capabilities test
    PASSED
    Special use capabilities


    Windows Runtime metadata validation
    PASSED
    ExclusiveTo attribute test
    PASSED
    Type location test
    PASSED
    Type name case-sensitivity test
    PASSED
    Type name correctness test
    PASSED
    General metadata correctness test
    PASSED
    Properties test


    Package sanity test
    PASSED
    Platform appropriate files
    PASSED
    Supported directory structure check


    Resource Usage Test
    PASSED
    WinJS background task test
     
  44. Tautvydas-Zilys

    Tautvydas-Zilys

    Unity Technologies

    Joined:
    Jul 25, 2013
    Posts:
    10,628
    Could you attach the contents of UnityEditor.log right after you build your project from Unity?