2012-07-03 10 views
6

Nel mio progetto Unity Ho 3 progetti di Visual Studio: Assembly-CSharp-vs Assembly-CSharp-firstpass-vs Assembly-CSharp-Editor-vsproblema di riferimento Unity3d con progetti C#

Tutti i miei script sembra finire in Assembly-CSharp-firstpass-vs, ma una risorsa importata che sto usando (2dtoolkit) ha il codice in Assembly-CSharp-vs ... Il che significa che non posso accedere a questo codice da Assembly-CSharp- firstpass-vs, perché non vi è alcun riferimento a Assembly-CSharp-vs (non si suppone che ci sia un riferimento in questo modo).

Quindi, qual è il modo "corretto" per gestirlo? Immagino che sia necessario spostare i miei file di script in Assembly-CSharp-vs, o devo spostare le mie risorse di asset in Assembly-CSharp-firstpass-vs ..

risposta

4

Se i tuoi script finiscono nel Assembly-CSharp-firstpass -vs project, significa che da qualche parte verso l'alto nella loro gerarchia di cartelle hai una cartella denominata "Plugin", "Asset standard" o "Pro Asset standard". Questo fa sì che gli script vengano compilati nel primo dei 4 possibili passaggi di compilazione. Pertanto Unity colloca quindi i file di codice nel progetto Assembly-CSharp-firstpass-vs.

Per rendere possibile l'accesso a 2DToolkit dal codice, è consigliabile spostare tutti i file di script in modo che non vengano posizionati in nessuna di queste cartelle. Ciò li farà collocare nel progetto Assembly-CSharp-vs.

Se si utilizza C#, dovrebbe funzionare ora. Ma se hai scritto il tuo codice in UnityScript (JavaScript) o Boo, dovrai posizionare 2DToolkit in una cartella denominata Plugins (o "Asset Standard" o "Pro Asset Standard" se preferisci) quindi compila prima del tuo codice .

Dai un'occhiata alla pagina Script compilation nel manuale di Unity per ulteriori informazioni dettagliate su come controllare l'ordine di compilazione degli script.