Ho appena incontrato un problema piuttosto strano con VS2010 e Script #, che la maggior parte delle volte sono in grado di ricreare.Script # e problemi del compilatore
Nel mio semplice scenario ho 2 progetti nella mia soluzione; un'applicazione Web standard MVC2 Asp.Net e una libreria di classi jQuery di script n. Ho creato una classe statica (attribuita con [Importato]) con un metodo statico su di esso, con l'intenzione di mappare questa classe in codice a una libreria Javascript esterna, come descritto nella documentazione.
Tuttavia, sembra che ogni volta che decoro tale classe con [IgnoreNamespace] per raggiungere questo obiettivo, il progetto interrompe correttamente la compilazione ma non mi dà alcun feedback sul motivo per cui non funziona (nessun errore nella finestra di errore, per esempio). Non è facile sbarazzarsi di entrambi, poiché Visual Studio sembra entrare in uno stato permanente di fallimento non di costruzione; rimuovere le classi e i file di progetto non lo risolve, né riavviare lo studio visivo. L'unico modo per convincere VS a costruire il progetto con successo è eliminare completamente il progetto, crearne uno nuovo, quindi aggiungere nuovamente i file, il che è a dir poco fastidioso.
Con un'impostazione di uscita accumulo verbose, ottengo il seguente:
Target "AfterCompile" nel file "C: \ Program Files (x86) \ ScriptSharp \ v1.0 \ ScriptSharp.targets" dal progetto "e : \ project \ \ ScriptSharpDemo \ Scripts locali \ Scripts.csproj"(target "Compila" dipende da questo): Task "ScriptCompilerTask" Fatto esecuzione compito "ScriptCompilerTask" - FALLITO. Fine edificio target "AfterCompile" nel progetto "Scripts.csproj" - FAILED.
.. che non mi dice tutto.
Ci sono stati un paio di volte in cui sono riuscito a creare questo tipo di classe e poi costruire con successo, ma soprattutto mi possibile riprodurre il problema abbastanza affidabile.
A questo punto io sono incline a pensare che il bug si trova con Script #, ma vorrei solo avere che ha confermato, e di trovare un possibile lavoro intorno se ce n'è uno.
Dovresti ridurre la classe che stai cercando di importare e postarla qui. –
Inoltre, stai usando l'ultima versione del compilatore? Prova 0.6.1.0 se non l'hai già fatto. –
Grazie per la risposta. Mi sono reso conto che questo problema si verifica solo se si seleziona l'elemento "Aggiungi classe .." quando si tenta di inserire una nuova classe nel progetto Script #, anziché scegliere "Aggiungi elemento ..", quindi scegliere una classe Script # da li. Non appena aggiungi una classe usando il primo metodo, rende il progetto inutilizzabile. E ha senso; Ovviamente devo aggiungere un oggetto al progetto usando il metodo corretto. Anche se il file risultante sembra esattamente lo stesso, S # ovviamente conosce la differenza e non gli piace. Sfortunatamente è un errore facile da fare quando sei nella zona :( –