2016-05-25 19 views
6

Podążałem dokładnie krokami Microsoft w ramach wielu projektów w ramach samouczków Microsoft Holographic - Academy. Wypełniłem je wszystkie i wszystkie z nich działały dobrze od stworzenia do eksportu i testowania. Używa Unity3D/C#, który zostanie skompilowany do pliku Visual Studio Solution (sln).Aplikacje Hololens nie będą dłużej tworzone - brak pliku metadanych i nie znaleziono c-Sharp.firstpass.

Po ich ukończeniu przystąpiłem do budowy własnej aplikacji - która również dobrze się sprawdziła. Nie ma problemu!

Teraz, gdy próbuję budować - pojawia się dziwny błąd, że nie można znaleźć pliku c-Sharp.firstpass (wyeksportowana/skompilowana biblioteka DLL z tego, co rozumiem).

Teraz nawet projekty, które zostały pomyślnie zbudowane, nie będą budować więcej.

Wkleję dokładny błąd poniżej.

Czego próbowałem:

  • Tworzenie nowego projektu i wklejenie wszystkich dotychczasowych aktywów do niej - wtedy odbudowy.
  • Czyszczenie projekt VS
  • Ponowne mój komputer
  • Ponowne uruchomienie Unity3D
  • odinstalowanie i ponowne zainstalowanie programu Visual Studio (wersja zalecana)
  • odinstalowanie i ponowne zainstalowanie Unity3D (wersja zalecana)
  • Po samouczki krok -step ponownie
  • Wyszukiwanie StackOverflow i próba rozwiązania każdego problemu, którego pytanie zdalnie przypominało mój problem
  • Zadawanie na jedności odpowiedzi (2 dni temu)
  • Tworzenie pliku projektu do różnych dysków, folderów, miejsc, itp
  • , aby nie dać się

Wydaje się być problem odsyłania - tak ja również nie odwoływał się/odwoływał do wspomnianego pliku.

Dzięki za wszelką pomoc. Dla jasności jest to uniwersalna aplikacja Windows 10 opracowana dla Microsoft Hololens. Jednak samo urządzenie wydaje się nie mieć nic wspólnego z procesem kompilacji w tym przypadku, z wyjątkiem kierowania na niego.

Best,

Addyarb

Błąd:

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

+0

Hololens jest dobrze wyszkolony akademicko. Skorzystaj z [dedykowanego forum] (http://forums.hololens.com/), aby porozmawiać z twórcami Microsoft. –

+0

Dzięki Hans, również napisałem tam moje pytanie. –

+0

sprawdź ten wpis na forach Unity: https://forum.unity3d.com/threads/net-scripting-backend-and-visual-studio-2017-3-incompatibility.487833/ – hamalaiv

Odpowiedz

3

--update ---

Moje poprzednie odpowiedź nadal obowiązuje więc nie będę go usunąć. Aby rozwiązać ten konkretny problem, należy umieścić wygenerowaną aplikację w strukturze folderów, która nie zawiera spacji . Wygląda na to, że wystąpił błąd w SerializatioWeaver.exe, który nie odczytuje poprawnie ścieżki i nie będzie w stanie znaleźć niezbędnych rozszerzeń Unity.


Upewnij się, że używasz poprawnej wersji Unity3D zbudowanej dla HoloLens. zawsze używać najnowszej wersji kompatybilnej jak ogłoszono na forach HoloLens Academy - w chwili pisania tego, że wersja 5.4 Beta 18 i można go pobrać here

Zawsze pobrać instalator z linku podanego na forum HoloLens ponieważ regularne wersje Unity są różne. Potrzebujesz specjalnej wersji Unity3D stworzonej dla HoloLens

Instalując nową wersję, zawsze instaluj ją w nowym miejscu niż poprzednie. Po zainstalowaniu Unity zawsze instaluj UWP Runtime, które możesz znaleźć na tej samej stronie, którą podałem powyżej (środowisko wykonawcze UWP jest zbudowane specjalnie dla każdej wersji, więc zawsze ponownie pobieraj i instaluj po Unity). Podczas instalacji środowiska wykonawczego UWP, upewnij się, że wybrałeś właściwe miejsce dla folderu instalacji Unity 3D (folder, w którym właśnie zainstalowałeś swoją jedność).

Jeśli wszystko zostanie poprawnie zainstalowane, kompilacje powinny zacząć działać.

+0

Dzięki Alex. Udało mi się odtworzyć ten błąd dzisiaj i znalazłem rozwiązanie (na podstawie twojego). Próbowałem zaktualizować moje ikony/nazwę aplikacji i skończyło się umieszczeniem spacji w moim tytule. Kiedy poszedłem na budowę - dostałem podobny błąd, jak wspomniano wcześniej. Jednak, gdy przebudowałem rozwiązanie z Unity i próbowałem ponownie bez spacji w nazwie, otrzymałem ten sam błąd. Moim rozwiązaniem było zregenerowanie certyfikatu, wybierając kolejno Plik> Ustawienia konstrukcyjne> Ustawienia odtwarzacza> Ustawienia publikowania> Utwórz, a następnie tworzenie nowego certyfikatu. –

+0

Aby dodać do tego, jeśli zmienisz nazwę (tj. Dodasz spację) do nazwy twojego projektu/aplikacji, Unity/VS wygeneruje kolejny sln - ale w tym samym folderze. Nie jestem pewien, czy to ma wpływ na eksportowanie/budowanie, ale miałoby sens, żeby rzucił klucz do rzeczy. –

0

Miałem ten sam problem dzisiaj i rozwiązałem go, przenosząc cały projekt do folderu o krótszej ścieżce. To nie może być twój problem, ale z jakiegoś powodu zadziałało to dla mnie. Będziesz musiał również znaleźć wszystkie ścieżki bezwzględne w pliku .sln i zmienić je tak, aby pasowały do ​​nowej krótszej ścieżki, aby Twoje projekty zostały wczytane. Jest też ścieżka, którą będziesz musiał zmienić w folderze .userprefs, jeśli dobrze pamiętam.

Powodzenia! Mam nadzieję, że to działa dla ciebie, chociaż nawet nie rozumiem, dlaczego to działa dla mnie.

1

Po około 3 dniach bez wyników, przywracam fabrycznie hololeny i komputer, z którym pracuję. Po ponownym zainstalowaniu całego odpowiedniego oprogramowania moje kompilacje działały dobrze. Zapisałem na tych samych dyskach/folderach i wszystkim.

Jeśli podejmiesz takie działania, pamiętaj o wykonaniu kopii zapasowej swojej pracy!

To z pewnością nie jest "najlepszy" sposób na rozwiązanie tego problemu, ponieważ nie mogę przywrócić ustawień fabrycznych dla każdego błędu. Ale nie zbliżyłem się do rozwiązania tego problemu i, cóż, czas to pieniądz.

Goodluck i dziękuję za odpowiedzi!

+0

Zastanawiam się, dlaczego zaakceptowałeś odpowiedź, jeśli to nie zadziałało? Próbuję znaleźć rozwiązanie tego problemu i naprawdę nie chcę przywracać do ustawień fabrycznych komputera. – hamalaiv

0

Po prostu chciałem to przekazać, ponieważ przeszedłem wszystkie inne odpowiedzi i nadal nie mogłem go uruchomić. Po zabawie przez 2 dni postanowiłem porysować wszystkie przykłady pobrane dla projektów Unity/HoloLens i zacząć od nowa. Czytałem gdzieś, że najnowsza wersja jedności współpracuje z HoloLensem, ktoś inny zwrócił uwagę, że projekty z Unity 5.4 i 5.6 nie będą działać po otwarciu w nowej wersji. Ktoś zasugerował, że od tego czasu pliki metadanych musiały się zmienić. Pobrałem najnowszą wersję jedności, która jest obecnie w wersji 2017.2.0b7, a po hasłach w sekcji "Dodatkowe pliki do pobrania" poszedłem do Instalatora składników systemu Windows i pobrałem obsługę docelową Windows Store (.NET). Jak wspomniała @AlexDrenea, jest to ważny krok. Afterwords upewniłem się, że Visual Studio 2017 został zainstalowany, zaktualizowany i wszystkie dodatkowe funkcje zostały zainstalowane. Musiałem ponownie uruchomić instalator i upewnić się, że wybrano "Universal Windows Platform development" i "Game development with Unity".

Co do projektu, zacząłem od zera i zmodyfikowałem ustawienia kompilacji w taki sam sposób, jak w tutorialach online, z jedną różnicą. Nie sprawdzałem ustawienia "Projekty Unity C#". Po pewnych badaniach stwierdziłem, że nie trzeba tego ustawiać. Potem mogłem zbudować na emulatorze i urządzeniu bezbłędnie

tldr; Podczas pracy z Unity i HoloLens nie używaj starych przykładów lub projektów, zawsze używaj najnowszej wersji programu Unity kompatybilnego w/HoloLens i najnowszej wersji VisualStudio i rozpoczynaj projekty od zera. Chyba że są one dla twojej wersji.

0

Wydaje mi się, że masz problem z niekompatybilnością Unity3D i Visual Studio 2017 (15.3). Kliknij poniższy link, aby wyświetlić odniesienia do tego problemu. Hololens Build Failing - The command AssemblyConverter.exe exited with code 1

Solutions: