2016-05-26 29 views
9

Non riesco a ottenere i punti di interruzione per lavorare sui miei file TypeScript all'interno di Visual Studio.Breakpoint TypeScript e Visual Studio 2015 - Nessun documento caricato per questo documento

Quando eseguo in modalità di debug il punto di interruzione è disattivato e il bilico su di esso vedo il messaggio di errore:

The breakpoint will not currently be hit. No symbols have been loaded for this document

Ho Googled intorno al problema e io sono a conoscenza di un altro paio di domande in modo con sintomi simili, ma il mio problema non è un duplicato di uno di quelli che ho trovato:

  • this uno suggerisce lo spostamento di una riga dal file csproj in una posizione diversa: non è stato tale linea simile nel mio. file csproj. Ho provato ad aggiungerlo ma non c'è stata differenza di comportamento
  • this (e molti altri su SO, GitHub e altrove) suggeriscono che il problema non risiede nella generazione di sourcemaps. Ho questa opzione impostata nelle proprietà del progetto, le sourcemaps vengono generate definitivamente perché se eseguo il debug in Chrome posso vederle lì quindi anche questo è un vicolo cieco.

Non riesco a vedere nulla di negativo nell'output di build.

Come posso ottenere i punti di interruzione TypeScript per funzionare in Visual Studio?

informazioni

Versione:

  • aggiornamento VS2015 2
  • tipografico per Microsoft Visual Studio versione 1.8.29.0
  • provato in diversi browser tra cui IE11
  • ASP.NET Web Application utilizzando il Framework .Net 4.5.2

Opzioni personali> Debug> Impostazioni simbolo:

Symbol Settings

risposta

10

La prima cosa da fare è assicurarsi che la compilazione di TypeScript stia generando mappe sorgente. Questa impostazione è sotto le proprietà del progetto TypeScriptBuild impostazioni (vedi sotto):

TypeScript project properties showing where the setting is to generate source maps

Avanti, assicurarsi di selezionare un browser supportato per il debug di script sul lancio. Gli unici I sanno che sono supportati Internet Explorer e Edge - con avvertenze.

  • Internet Explorer: il debugger si collegherà automaticamente ad esso al momento del lancio, ma prima è necessario attivare il debug di script in impostazioni avanzate di IE. Strumenti >> Opzione Internet >> Avanzate >> deselezionare la casella di controllo con "Disabilita debug di script (Internet Explorer)
  • Edge: il debugger non si collegherà automaticamente ad esso all'avvio, ma è possibile collegarlo manualmente ad esso (selezionare lo script motore) una volta che lancia. Se il punto di interruzione nel codice eseguito durante il caricamento della pagina, è necessario aggiornare la pagina web per attivare il punto di interruzione.

Verificare che il debugger è, infatti, collegato al web browser controllando la finestra dei processi (ctl-alt + z) per il processo del browser e quello script si trova nella colonna Debug.

Processes window showing the debugger attached to both IIS Express and Internet Explorer

Se, dopo aver verificato che il debugger è collegato al browser web, i punti di interruzione sono ancora non vincolante nel file .ts, aprire i file .js generati dal compilatore dattiloscritto e impostare punti di interruzione lì.

Un'altra opzione consiste nell'utilizzare il browser debugger integrato per il browser di propria scelta. Vedi la pagina this per i dettagli.

+0

Ciao John. Grazie per aver trovato il tempo di rispondere. I tuoi suggerimenti potrebbero essere utili agli altri ma non affrontare il mio problema specifico, temo. Ho usato Explorer (con le relative impostazioni di debug) e Edge e ancora i miei simboli non sono caricati. La domanda riguardava il tentativo di risolvere quel problema specifico per poter eseguire il debug in Visual Studio piuttosto che attivare opzioni di debug.o utilizzando gli strumenti F12 di un browser –

+0

@Stewart_R Ho aggiornato la mia risposta per coprire più impostazioni che potrebbero causare il problema. descrivere. Spero che sia d'aiuto. – John

+0

Questo è fatto! Non si collegava al processo. Ho manualmente "collegato per l'elaborazione" una sola volta e ora lo fa automaticamente ogni volta che clicco f5. Non del tutto sicuro del motivo per cui non è stato collegato in precedenza ma felice di avere una risoluzione. Grazie! :-) –

2

Ho avuto lo stesso problema. Per me, era il fatto che non avevo definito "meta" nel mio System.config.

Se si segue la sezione "Modello 5 ASP.NET" in questo articolo, è necessario risolvere il problema.

http://www.codeproject.com/Articles/1087605/Angular-typescript-configuration-and-debugging-for

Good Luck.

+0

Inizialmente avevo pensato che l'articolo collegato fosse solo ASP.NET 5 - Ora vedo anche la sezione ASP.NET 4.5. Tuttavia questo articolo è progettato attorno all'utilizzo dell'angolare 2 (che io non sono). Ho provato i punti particolari che non sembravano angolari 2 correlati (le righe di script System.config nel file ._layout.cshtml e le modifiche al file .csproj nell'ultimo passaggio) ma senza successo. Ottengo l'errore di runtime: Sistema non definito –

+0

Spiacente. I tuoi commenti mi hanno aiutato a risolvere il mio problema, quindi ho pensato di poterti aiutare. Vuoi dire che è un'applicazione Web ASP.NET che utilizza il .Net Framework 4.5.2, oppure è un'applicazione HTML con TypeScript o qualcos'altro? Il tipo di progetto ESATTO è importante. –

+0

È un'applicazione Web ASP.NET che utilizza .NET Framework 4.5.2. Nessuna scusa necessaria - apprezzo molto ogni tentativo di assistenza! –

1

Ho avuto lo stesso problema ed è stato in grado di risolverlo spostando il file sorgente in un'altra directory. Sono stato in grado di impostare i punti di interruzione nel file dattiloscritto principale, ma non sono riuscito a impostare i punti di interruzione nel file reagente dattiloscritto subordinato.

Problemi correlati