2015-05-13 19 views
5

Ho creato un progetto ASP.NET 5 che utilizzo principalmente per un'applicazione dattiloscritto front-end.Errore "identificatore duplicato" durante la compilazione dei file di definizione del dattiloscritto nella cartella wwwroot

Sto usando grunt e grunt-ts per fare la compilation.

Ho una cartella 'src' dove tutti i miei file dattiloscritto sono contenuti

grugnito-ts compila tutto nella cartella 'src' e combina ad un singolo wich di file js viene poi messo nella cartella wwwroot. Anche un file di definizione del dattiloscritto viene generato e inserito nella cartella wwwroot.

la compilazione con grunt/grunt-ts funziona in modo impeccabile.

Il problema: Quando il file di definizione esiste nella cartella wwwroot, il Visual Studio IDE inizia a darmi un sacco di errori 'duplicate identificatore'. Ciò è ovviamente dovuto al file di definizione.

C'è un modo per rendere Visual Studio ignorare la cartella wwwroot (o qualsiasi cartella) per la sua compilazione IDE/dattiloscritto interno?

+1

Mi sembra che http://stackoverflow.com/q/29557837/195653 potrebbe avere quello che stai cercando. –

+1

No, questo copre un argomento completamente diverso –

+2

No, è lo stesso argomento.Basta usare un controller per ottenere il contenuto del file ts invece di copiare i file ts nella cartella wwwroot. –

risposta

2

si desidera aggiungere un file tsconfig.json alla radice del proprio progetto, che contiene i seguenti:

{ 
    "compilerOptions": { 
    "noImplicitAny": true, 
    "noEmitOnError": true, 
    "removeComments": false, 
    "sourceMap": false, 
    "module": "commonjs", 
    "target": "es5" 
    }, 
    "exclude": [ 
    "bower_components", 
    "node_modules", 
    "wwwroot" 
    ] 
} 

Il file tsconfig.json è responsabile per la compilazione configurazione dattiloscritto.

  • compilerOptions - Opzioni di compilazione da TypeScript a JavaScript.
    • "noImplicitAny": true - Non consente l'utilizzo di variabili implicite. Forzarli per essere esplicitamente dichiarati.
    • "noEmitOnError": true - Interrompe l'elaborazione in caso di errore.
    • "removeComments": false - Non rimuovere commenti.
    • "sourceMap": false - Non creare file di mappe di origine (lasciare questo al plug-in gulp).
    • "module": "commonjs" - Utilizza i moduli Common JS.
    • "target": "ES5" - Compilare a ECMAScript 5.
  • escludere - Escludere le bower_components, node_modules e cartelle wwwroot dalla scansione per dattiloscritto (Ts) o la definizione dattiloscritto (.d .ts) file.
0

C'è un modo per far sì che Visual Studio ignori la cartella wwwroot (o qualsiasi cartella) per la sua compilazione IDE/dattiloscritto interno?

Escluderlo dal progetto.

+1

Non vedo come questo sia possibile in un progetto ASP.NET 5 poiché segue la struttura della cartella e anche, se escludo la cartella wwwroot eliminandola o qualcosa che influenzerà la mia capacità di eseguire il debug di –

+0

@basarat Attualmente non è è possibile semplicemente come stai dicendo per VS2015: (Vedi http://stackoverflow.com/q/30175235/195653). –

Problemi correlati