Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Hololens Apps Will No Longer Build - Cites Metadata file missing and c-Sharp.firstpass not found

I have followed the exact steps Microsoft lists under multiple projects within their Microsoft Holographic - Academy tutorials. I completed them all, and all of them worked just fine from creation to export and testing. This is using Unity3D / C# which gets compiled into a Visual Studio Solution (sln) file.

After completing those, I went on to build my own app - which built just fine as well. No problem!

Now when I try to build - I get a strange error that the c-Sharp.firstpass file (the exported/cross-compiled dll from what I understand) can not be found.

Now even the projects that built successfully won't build any more.

I will paste the exact error below.

Things I have tried:

  • Creating a new project and pasting all of the previous assets into it - then rebuilding.
  • Cleaning the VS project
  • Restarting my computer
  • Restarting Unity3D
  • Uninstalling and reinstalling Visual Studio (recommended version)
  • Uninstalling and reinstalling Unity3D (recommended version)
  • Following the tutorials step-by-step again
  • Searching StackOverflow and attempting every solution whose question remotely resembled my issue
  • Asking on Unity Answers (2 days ago)
  • Building the project file to different drives, folders, locations, etc.
  • To not give up

There seems to be a referencing issue - so I have also unreferenced/referenced the mentioned file.

Thanks for any and all help. To be clear, this is a Windows 10 Universal app being developed for the Microsoft Hololens. However, the device itself seems to have little to nothing to do with the build process in this case, other than targeting it.

Best,

Addyarb

The error:

The command ""D:\Development\Hololens Builds\PlanetApp\Unity\Tools\SerializationWeaver\SerializationWeaver.exe" "D:\Development\Hololens Projects\Planetarium\UWP\Assembly-CSharp-firstpass\bin\x86\Release\Unprocessed\Assembly-CSharp-firstpass.dll" -pdb -verbose -unity-engine="D:\Development\Hololens Builds\PlanetApp\Planetarium\Unprocessed\UnityEngine.dll" -unity-networking=D:\Development\Hololens Builds\PlanetApp\Planetarium\Unprocessed\UnityEngine.Networking.dll "D:\Development\Hololens Projects\Planetarium\UWP\Assembly-CSharp-firstpass\obj\x86\Release\x86\Release"" exited with code 1. Assembly-CSharp-firstpass D:\Development\Hololens Projects\Planetarium\UWP\Assembly-CSharp-firstpass\Assembly-CSharp-firstpass.csproj 180

Metadata file 'D:\Development\Hololens Projects\Planetarium\UWP\Assembly-CSharp-firstpass\bin\x86\Release\Assembly-CSharp-firstpass.dll' could not be found Assembly-CSharp D:\Development\Hololens Projects\Planetarium\UWP\Assembly-CSharp\CSC

Metadata file 'D:\Development\Hololens Projects\Planetarium\UWP\Assembly-CSharp\bin\x86\Release\Assembly-CSharp.dll' could not be found Planetarium D:\Development\Hololens Builds\PlanetApp\Planetarium\CSC

like image 737
Addison Yarborough Avatar asked May 25 '16 20:05

Addison Yarborough


3 Answers

--UPDATE---

My previous answer still applies so I won't remove it. But for fixing this specific issue, make sure you place your generated app in a folder structure that does not contain any spaces. There seems to be a bug in SerializatioWeaver.exe that does not properly read the path and won't be able to find necessary Unity extensions.


Make sure you are using the correct Unity3D version built for HoloLens. Always use the latest version compatible as announced on the HoloLens academy forums - at the time of writing this, that version is 5.4 Beta 18 and you can download it here

Always download the installer from the link provided on the HoloLens forum as the regular Unity builds are different. You need the special Unity3D version built for HoloLens

When installing a new version, always install in a new location than the previous one. After you install Unity, always install the UWP Runtime that you can find on the same page that I linked above (the UWP runtime is built specifically for each version so always re-download and install after Unity). When installing the UWP Runtime, make sure you select the right location for the Unity 3D install folder (the folder you just installed your unity into).

If everything is installed correctly, your builds should start working again.

like image 123
AlexDrenea Avatar answered Nov 14 '22 22:11

AlexDrenea


After about 3 days with no results, I factory reset the hololens and the computer I am working with. After reinstalling all relevant software, my builds worked just fine. I saved to the same drives/folders and everything.

If you take this approach, remember to back up your work!

This certainly isn't the 'best' way to handle this issue, since I can't just factory reset for each bug. But I was no closer to solving this issue and, well, time is money.

Goodluck and thank you for the answers!

like image 40
Addison Yarborough Avatar answered Nov 15 '22 00:11

Addison Yarborough


I fixed a similar missing DLL issue in the produced SLN by using a HoloLens project kit for Unity https://github.com/microsoft/HoloToolkit-Unity as opposed to starting from scratch. Obvious but got me going.

like image 1
Kyle G Avatar answered Nov 14 '22 22:11

Kyle G