2015-08-26 15 views
13

Ho un'applicazione Web .NET 5 che utilizza il framework DNX e voglio eseguire 'npm install', 'bower install' e altri, ogni volta che costruisco il progetto .Gli script 'prebuild' in project.json non vengono eseguiti

In questo momento sono in grado di farlo il pubblicare, utilizzando 'prepublish', ma non sembra di lavorare con 'prebuild', anche se ho visto che è possibile here

Quello che ho adesso:

"scripts": { 
    "prepublish": [ "npm install", "bower install", "tsd install", "gulp min" ] 
} 
+1

Sto riscontrando lo stesso problema: il prebuild funziona da una riga di comando "dnu build", ma da una build di Visual Studio non viene agganciato. –

+0

confermato, anche se sono ancora in beta5 a causa di signalr non ancora raggiunto. –

risposta

0

non ho guardato per beta5 ma DNX avere un po 'di documentazione sugli script supportati right here.

Fondamentalmente questo:

{ 
    "scripts": { 
    "prebuild": "echo before building", 
    "postbuild": "echo after building", 
    "prepack": "echo before packing", 
    "postpack": "echo after packing", 
    "prerestore": "echo before restoring packages", 
    "postrestore": "echo after restoring packages" 
    } 
} 
11

Al RC1, you have to "produce outputs" convogliare l'accumulo attraverso dnu:

image

image

+0

Con qualsiasi tool/framework è più aggiornato a novembre 2016, questa casella non è presente. – tjrobinson

+0

Gli ultimi strumenti/framework sono passati - DNX ora è deprecato. – Stajs

0

@Stajs's answer è corretto, ma può essere necessario un altro passo quando lavorando con TypeScript, che sembra essere il caso h ere.

Per impostazione predefinita, Visual Studio compila i sorgenti TypeScript prima di eseguire il pipe della generazione tramite dnu. Quindi se ci sono nuove definizioni di tipo tsd o altri riferimenti che funzioneranno solo se viene eseguito prima tsd install, la compilazione fallirà. E 'una cattura 22.

Per evitare che Visual Studio esecuzione del transpilation dattiloscritto, si hanno anche per deselezionare il Compile TypeScript on build casella di controllo sulle Proprietà> Costruire pagina.

Si noti che questo ha senso solo se si aggiunge la compilation TypeScript al proprio file gulp o grunt.

+0

Con qualsiasi tool/framework è più aggiornato a novembre 2016, questa opzione non è presente. – tjrobinson

11

So che questa domanda è un po 'più vecchia, ma Google mi ha portato ad esso. A partire dal 19/06/2016, è necessario utilizzare precompile anziché prebuild. La nuova documentazione per il file project.json è disponibile allo https://docs.microsoft.com/pt-br/dotnet/articles/core/tools/project-json#scripts.

Le opzioni di script validi per il file project.json sono:

  • precompilare
  • postcompile
  • prepublish
  • postpublish

E Microsoft ha già rilasciato un annuncio affermando che tornerà al vecchio formato .csproj. Puoi leggere a riguardo lo MSDN blog.

La prima ondata di questo cambiamento avverrà in Visual Studio “15” RTM: quando si apre un progetto NET Nucleo in Visual Studio, verrà convertito automaticamente da .xproj a Csproj, spostando le risorse dalla project.json file nei file di configurazione e nel file .csproj.Forniremo anche uno strumento per la conversione di applicazioni utilizzando anche gli strumenti della riga di comando .NET.

Problemi correlati