Unity5 Projekt nicht zu bauen, für Standalone-PC, auf Windows mit externen Visual-Studio-version (2017)
Obwohl es nur aus der Ferne im Zusammenhang mit der Programmplanung, hier geht es:
Seit Letzte Woche Spiele ich schon mit Einheit (5.6.0f3 Gemeinschaft x64) auf Win 10 (x64) - mit Visual Studio (2017 Gemeinschaft) als angebracht-editor, wie Einheit "erfordert" - und begann mit der [Einheit]: Tutorials (erste). Für ein paar Tage ging alles gut, aber dann Gebäude für PC Standalone Ziel, die aufgehört zu arbeiten. Googleing und überprüfen Sie die Foren, nicht Hilfe bei der Suche nach Informationen über dieses genaue Verhalten:
Als man auf der Build-Einstellungen dialog (nach rechts verschoben), es gibt keine (Zielplattform oder Architektur) combo-Boxen zulassen, um anzugeben, build-Parameter. Fehler werden auf der linken Seite.
Hinweise (über das aktuelle Verhalten):
- Erste Vermutung war, dass die tutorial-Projekt wurde irgendwie Durcheinander, so habe ich eine neue von Grund auf (dummy /einfach mit einem Sphäre befestigt ein Festkörper und ein C# Skript, das gilt Kräfte, basierend auf Benutzer-input), aber es verhält sich (dies ist das Projekt-build-Ausgang in der Abbildung oben)
- WebGL build läuft einwandfrei (lädt im browser); dies ist die Abhilfe, die derzeit verwendet werden, aber es dauert eine Ewigkeit, bis die vollständige
- Spielening (offensichtlich) funktioniert auch (unnötig zu sagen, dass die Dinge sind OK in VStudio, keine Beschwerden von csc), !!!aber!!! nach versuchen (und scheitern) zu bauen, Spielening funktioniert nicht mehr (Neuladen des Projekts ist der einzige Weg, um es zu beheben)
Um auszuschließen, mögliche Zweifel, hier ist ein DownloadAssistant screenshot:
Alles ist geprüft, es gibt 2 items (nicht sehr relevant in diesem Fall), werden nicht angezeigt (weil das Fenster nicht beträchtlich), aber Sie sind überprüft (und installiert).
Hintergrund info:
- Bei der ersten Installation Einheit, es gab keine VStudio 2017 version auf dem computer vorhanden, so ist es (Community Edition) installiert wurde, als Teil der Einheit Installation (ich erinnere mich an (mindestens) eine VStudio Verwandte combo-box in der Assistant)
- Dann ein VStudio patch verfügbar war; bei der Vorbereitung, um es zu installieren, merkte ich, dass VStudio installiert wurde, auf den Standard-Pfad (auf %SYSTEMDRIVE%), welche doesn T Arbeit für mich, denn es ist eine große Produkt, also:
- Es deinstalliert
- Es neu installiert (direkt von [VisualStudio]: Visual Studio Downloads) auf ein anderes Laufwerk (und ja, ich bin mir bewusst, dass das ändern des install-Pfad noch installiert ein ziemlich großes Teil wie Windows SDK auf %SYSTEMDRIVE%)
- Da ich dachte, dass die oben genannten 2 Schritte würden die Verknüpfungen zwischen Einheit und die neue VStudio ich auch neu installiert Einheit. Dieses mal gab es keine VStudio zugehörigen check-Boxen in der Assistant (scheint normal zu prüfen, ob ein Stück software, die Sie installieren muss, ist das nicht bereits installiert ist 1). Später fand ich auch eine persistente (was bedeutet, dass es nicht ausgelöscht zu Einheit deinstallieren mal) RegValue (HKEY_CURRENT_USER\SOFTWARE\Unity Technologies\Installer\Select_VisualStudio) mit einem Wert von 0 (im Gegensatz zu einer Reihe anderer Werte, die unter dem gleichen Schlüssel mit den Werten 1)
- Danach habe ich neu installiert Einheit mehrmals, einschließlich neu gestartet (nicht erforderlich) zwischen deinstallieren /installieren, aber ohne Ergebnis (ich brauchte auch ein langer Schuss von der Aktivierung der RegVaue oben, bevor Assistant)
Ein wenig debugging ergab, dass, wenn Sie versuchen zu bauen (PC Standalone), Einheit soetwas macht (nicht dagegen die Pfade, es ist wie Sie sind auf meiner Maschine), das reproduziert werden kann, von cmdline:
build_win.bat:
"E:\Install\x64\Unity\5.6.0f3\Editor\Data\MonoBleedingEdge\bin\mono.exe" "E:\Install\x64\Unity\5.6.0f3\Editor\Data\MonoBleedingEdge\lib\mono\4.5\mcs.exe" "@args-win.txt"
args_win.txt:
-debug
-target:library
-nowarn:0169
-langversion:4
-out:Temp/Assembly-CSharp.dll
-unsafe
-optimize
-r:E:/Install/x64/Unity/5.6.0f3/Editor/Data/UnityExtensions/Unity/GUISystem/Standalone/UnityEngine.UI.dll
-r:E:/Install/x64/Unity/5.6.0f3/Editor/Data/UnityExtensions/Unity/Networking/Standalone/UnityEngine.Networking.dll
-r:E:/Install/x64/Unity/5.6.0f3/Editor/Data/UnityExtensions/Unity/UnityAnalytics/UnityEngine.Analytics.dll
-define:UNITY_5_3_OR_NEWER
-define:UNITY_5_4_OR_NEWER
-define:UNITY_5_5_OR_NEWER
-define:UNITY_5_6_OR_NEWER
-define:UNITY_5_6_0
-define:UNITY_5_6
-define:UNITY_5
-define:UNITY_ANALYTICS
-define:ENABLE_AUDIO
-define:ENABLE_CACHING
-define:ENABLE_CLOTH
-define:ENABLE_DUCK_TYPING
-define:ENABLE_GENERICS
-define:ENABLE_PVR_GI
-define:ENABLE_MICROPHONE
-define:ENABLE_MULTIPLE_DISPLAYS
-define:ENABLE_PHYSICS
-define:ENABLE_RUNTIME_NAVMESH_BUILDING
-define:ENABLE_SPRITERENDERER_FLIPPING
-define:ENABLE_SPRITES
-define:ENABLE_TERRAIN
-define:ENABLE_RAKNET
-define:ENABLE_UNET
-define:ENABLE_LZMA
-define:ENABLE_UNITYEVENTS
-define:ENABLE_WEBCAM
-define:ENABLE_WWW
-define:ENABLE_CLOUD_SERVICES_COLLAB
-define:ENABLE_CLOUD_SERVICES_ADS
-define:ENABLE_CLOUD_HUB
-define:ENABLE_CLOUD_PROJECT_ID
-define:ENABLE_CLOUD_SERVICES_UNET
-define:ENABLE_CLOUD_SERVICES_BUILD
-define:ENABLE_CLOUD_LICENSE
-define:ENABLE_EDITOR_METRICS
-define:ENABLE_EDITOR_METRICS_CACHING
-define:ENABLE_NATIVE_ARRAY
-define:INCLUDE_DYNAMIC_GI
-define:INCLUDE_GI
-define:PLATFORM_SUPPORTS_MONO
-define:RENDER_SOFTWARE_CURSOR
-define:INCLUDE_PUBNUB
-define:ENABLE_PLAYMODE_TESTS_RUNNER
-define:ENABLE_SCRIPTING_NEW_CSHARP_COMPILER
-define:ENABLE_VIDEO
-define:UNITY_STANDALONE_WIN
-define:UNITY_STANDALONE
-define:ENABLE_SUBSTANCE
-define:ENABLE_RUNTIME_GI
-define:ENABLE_MOVIES
-define:ENABLE_NETWORK
-define:ENABLE_CRUNCH_TEXTURE_COMPRESSION
-define:ENABLE_UNITYWEBREQUEST
-define:ENABLE_CLOUD_SERVICES
-define:ENABLE_CLOUD_SERVICES_ANALYTICS
-define:ENABLE_CLOUD_SERVICES_PURCHASING
-define:ENABLE_CLOUD_SERVICES_CRASH_REPORTING
-define:ENABLE_EVENT_QUEUE
-define:ENABLE_CLUSTERINPUT
-define:ENABLE_VR
-define:ENABLE_WEBSOCKET_HOST
-define:ENABLE_MONO
-define:NET_2_0_SUBSET
Assets/_Scripts/x.cs
-r:E:\Install\x64\Unity\5.6.0f3\Editor\Data\Mono\lib\mono\unity\System.Runtime.Serialization.dll
-r:E:\Install\x64\Unity\5.6.0f3\Editor\Data\Mono\lib\mono\unity\System.Xml.Linq.dll
-r:E:\Install\x64\Unity\5.6.0f3\Editor\Data\Mono\lib\mono\unity\UnityScript.dll
-r:E:\Install\x64\Unity\5.6.0f3\Editor\Data\Mono\lib\mono\unity\UnityScript.Lang.dll
-r:E:\Install\x64\Unity\5.6.0f3\Editor\Data\Mono\lib\mono\unity\Boo.Lang.dll
-sdk:unity
args_win.txt ist eine Kopie von einer der ${PROJECT_ROOT}\Temp\UnityTempFile-*s (ich werde beziehen sich auf eine solche Datei als utfile), genauer gesagt die eine, die erzeugt wird beim starten des build. Das Irre daran ist, dass es erstellt wurde, von einem anderen (einer von den 10+ identisch erstellt am Projekt load-time) utfile durch (habe nicht durch schauen, vielleicht gibt es zusätzliche Linien) - striping (und Schlurfen (amestecating)) ein paar Zeilen.
Die offensichtlich einen (nicht einmal überprüfen Sie die Quelle utfile): -r:E:/Install/x64/Unity/5.6.0f3/Editor/Data/Managed/UnityEngine.dll
, die, eingefügt in der genannten Datei, funktioniert tadellos. Aber ich weiß nicht, wie man anweisen Einheit nicht zu Streifen.
Andere Fakten (mehr oder weniger relevant):
- Es gibt mehrere andere VStudio Versionen installiert (2010, 2013, 2015), und mehr VCRedists, aber ich bezweifle ernsthaft, dass irgendeiner dieser würde einen Unterschied machen, da VStudio ist nur für die Bearbeitung (z.B. gestartet durch Einheit wenn dblclicking ein Skript)
- Meinem computer auch "leidet" an [BT]: Hat Ihr Windows-10-Startmenü nicht mehr? Wie es zu lösen ist (ich starten Sie es neu, ~einmal in der Woche; nach ~3-4 Tagen ist das problem wieder auftaucht), aber das passiert seit Wochen, vor der Installation Einheit
Mögliche Lösungen:
- Deinstallieren Einheit und VStudio, und die Wiederherstellung der ursprünglichen Konfiguration (falls es noch funktioniert) - nicht wünschenswert
- Bekommen eine Antwort (hier oder auf Einheit Foren, wo ich werde post die gleiche Frage gerade entfernt), und hoffentlich bekommen die unteren es
- Beginnen den schmerzhaften Prozess des debugging/monitoring ([MS. Docs]: Process Monitor (ProcMon) ist ein ausgezeichnetes Werkzeug) auch, könnte mit der Demontage UnityDownloadAssistant-5.6.0f3.exe, aber es gibt keine Garantien, dass es ergäbe sich eine (günstige) Ergebnis. Wie auch immer, ich denke, es ist eine (versteckte jetzt) Verbindung zwischen:
- VStudio check-box nicht anwesend ist, ist Assistant, wenn VStudio bereits installiert
- Fehlen die build-Parameter combo-Boxen für PC Standalone
- Strippen die UnityEngine.dll Abhängigkeit, wenn Gebäude
- Einen möglichen Arbeitsplan /Algorithmus für die Festsetzung dieses würde (nur Theorie):
- Debuggen der Assistant und die Identifizierung der Ressource (registry-Wert, Datei, ...) abgefragt VStudio installation status
- Optimieren, dass Ressourcen Assistant "denken", dass VStudio ist nicht installiert; auslösen würde, dass die VStudio installer (und auch Assistant "markieren", dass diese installation als geeignet für PC Standalone baut), die würde erkennen, die eine Vorherige installation (natürlich, bevor Sie diese, Sie die Ressource (wenn der gleiche) muss untweaked) und Versagen (eine weitere lange, die hier gedreht werden würde, dass Assistant nicht überprüfen Sie die return-codes)
- Lassen Assistant fertig und hoffentlich wird alles gut
Alle Ideen sind willkommen.
Seite Hinweis: 1 (nicht bezogen auf die Frage): bei der deinstallation/Installation Einheit, bemerkte ich smth; wenn es Community Edition bestimmten, kann ich (etwas) verstehen, aber wenn nicht, dann ist es ein ganz lame Fehler /Verhalten:
- Haben Einheit installiert (komplett wie oben)
- Laufen die Assistant und ändern Sie nichts aus der vorherigen installation (die Eltern RegKey der RegValue, die ich oben erwähnt habe, der sicher stellt, dass in der Standardeinstellung). Es wird:
- Download (und überschreiben ???) jede sub-pkg (z.B. UnitySetup-Linux-Support-for-Editor-5.6.0f3.exe, FacebookGamesArcade.msi, ...); für mich war es ~3GB+ (auch wenn die Dateien, die bereits dort waren)
- Laufen alle angegebenen("checked") pkg /Datei
- Entfernen (UnitySetup64.exe) alle bestehenden installation vor der installation (???)
using UnityEngine;
oben in deinem script?Natürlich. Das Skript ist syntaktisch richtig, sonst wäre es ja nicht spielen/bauen und wäre "rot" in VStudio.
Nur die überprüfung, dass die erste Sache, die entstanden mind. Sehr seltsam.
InformationsquelleAutor CristiFati | 2017-04-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Scheint das problem eingeführt, wenn das hinzufügen von Facebook Spielzimmer bauen unterstützt und ist noch nicht behoben, da der
2017.3.1f
.Problemumgehung:
Unity
Ordner (C:\Program Files\Unity
auf Windows x64)Unity/Editor/Data/PlaybackEngines/Facebook
zu denUnity
Ordner, so, jetzt haben SieEditor
undFacebook
nebeneinanderDurch @jura_z an
https://forum.unity.com/threads/installing-facebook-gameroom-build-support-gives-loads-of-errors-when-building-to-windows-standalone.489495/
InformationsquelleAutor angularsen
Lange Geschichte
Offenbar gab es keine easy fix (oder zumindest konnte ich keine finden), also fing ich an, "extrem anspruchsvoll" deinstallation /Neuinstallation Einheit und VStudio (mit Neustart nach dem deinstallieren, um sicherzustellen, dass es keine "versteckten" Vorgänge hängen gelassen).
Ich begann mit der Suche an, was die Assistant nicht unter die Haube, indem Sie eine benutzerdefinierte download-Pfad wie im Bild unten:
Hinweis: Die Installations-Pfade sind etwas anders als diejenigen, die in der Frage, weil ich diese geändert haben (da musste ich neu installieren, die Produkte warum nicht etwas verwenden?), aber diese änderungen sind nicht relevant.
In den angegebenen Ordner, es gab ein paar(~3GB+) der heruntergeladenen Dateien (ausführbare Dateien), und ein batch Skript aus der Kommandozeile entspricht der Assistant.
installieren.bat:
Die eine, die mein Auge fiel, war die VStudio Verwandte:
Als (Teil der) launcher Argumente nicht viel sagen zu mir, ich sah Sie bis: [MS. Docs]: Verwenden Sie die Befehlszeilen-Parameter zum installieren von Visual Studio 2017. Also, ich startete es über die Kommandozeile (ohne
--passive
tho chance bekommen, zu schauen, welche Funktionen ausgewählt sind), und ich dachte, ich habe es: die Spiele-Entwicklung mit Unity ausgewählt wurde, wie im Bild unten (erst, wenn ich war installieren VStudio "normal", ich nicht überprüfen,, dass die box):Aber das Verhalten war die gleiche !!!
Hinweise:
Der nächste Schritt, den ich Tat, Bestand darin, das erste Szenario (wo es funktioniert):
und es funktionierte !!!
Dann wusste ich, dass einer der Einheit Komponenten ist Quatsch mit meinen Einstellungen, also auf der Oberseite der Basis-installation (Inhalt der installieren.bat til vs_Community.exe) begann ich die Installation alle anderen Optionen, eins nach dem anderen, und nach jeder Komponente installieren, überprüfen, ob ich in der Lage bin zu tun, ein PC Standalone bauen, und ...
Kurze Geschichte
Es stellt sich heraus, dass Facebook Spielzimmer Build Support (als zeigen in der Assistant) war die Wurzel all meiner Probleme. Also noch eine Neuinstallation (sowohl VStudio und) Einheit (ohne die Facebook build-Unterstützung) funktioniert wie ein Charme.
Nun, die Untersuchung ist nur zur Hälfte fertig, ich muss noch herausfinden, warum geschieht das, aber ich werde hier aufhören. Wenn in der Zukunft werde ich brauchen, um zu bauen für Facebook, dann werde ich es herausfinden und machen es Arbeit, aber jetzt ich nicht.
Beachten Sie, dass für mein (noobish) Zweck Standalone (PC seit derzeit bin ich auf Gewinnen) baut sind genug (und vielleicht WebGL sowie zum testen von browser), habe ich aber installiert, alle anderen in den Fall, ich möchte spielen, um mit Ihnen.
InformationsquelleAutor CristiFati