2015-08-24 13 views
17

Ho guardato il il ASP.Net 5 squadre ingresso wiki per project.json, per identificare quali comandi script sono disponibili, e attualmente i seguenti sono elencati:Elenco completo di ASP.Net 5 project.json Script Comandi? (Visual Studio 2015)

{ 
    "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" 
    } 
} 

Questi sono semplici e facili da capire; tuttavia, in Visual Studio, solo gli eventi di prerestoring e di postrestore sembrano effettivamente sparare. Prebuild e postbuild no.

L'impostazione predefinita (beta 6)Visual Studio 2015 modello aggiunge la seguente Script Comando, che non è nella lista ufficiale:

"scripts": { 
    "prepublish": [ "npm install", "bower install", "gulp clean", "gulp min" ] 
    } 

Inoltre, sembra che ci siano altri, senza documenti comandi, ho ereditato questi da un progetto di esempio creato da un collega:

"scripts": { 
    "first-run": "npm install -g gulp bower && npm run update", 
    "prepare": [ "npm install && npm prune && bower install && bower prune && gulp default" ], 
    "prepublish": [ "npm install", "bower install", "gulp default" ], 
    "update": "npm install && npm prune && bower install && bower prune" 
    } 

questi sembrano funzionare (t hey execute), ma il mio collega e io non siamo in grado di trovare la documentazione da spiegare:

  1. Se sono validi o deprecati.
  2. Se sono specifici per Visual Studio (credo che prepublish sia solo per Visual Studio)
  3. Esattamente quando vengono eseguiti e come vengono riconosciuti da Visual Studio (i nomi sembrano ovvi, ma preferisco essere certi) .

Per confondere ulteriormente le cose, Visual Studio 2015 IntelliSense mostra altri comandi che non sono nella lista ufficiale:

enter image description here

Esiste un elenco di valida project.jsoncomandi script , il loro utilizzo, ecc., in particolare per Visual Studio 2015?

+2

Sembra che la documentazione su GitHub non si è raggiunto con la documentazione schema per il file [schema JSON per i file project.json DNX] (http://json.schemastore.org/project) che è per la bozza-04 e non ha raggiunto la versione attuale. –

risposta

5

Aggiornamento 24/05/2016:

Microsoft sta eliminando project.json e il ritorno alla csproj.

Uno dei principi fondamentali di .NET come piattaforma è vogliamo che i nostri sviluppatori di essere in grado di condividere il codice in tutti i modelli di applicazione .NET (WinForms, WPF, UWP, ASP.NET, iOS, Android , eccetera). Ciò ha presentato una serie di problemi, mentre project.json era ottimo per la creazione di applicazioni Web e librerie di classi che non consentiva l'unificazione degli altri modelli di app.

...

Dopo aver guardato le nostre scelte, era evidente che sarebbe stato più facile spostare i progetti .NET core a Csproj/MSBuild in modo che tutti i progetti .NET utilizzano lo stesso sistema di utensili e costruire.

Quote taken from here


Un update on the Nuget blog dal 30 marzo, 2016 ha dichiarato che

L'ultimo schema project.json per DNX è supportato in l'editor di Visual Studio e dall'estensione NuGet

Il project.json schema elenca il seguente avai comandi script etichetta:

 "scripts": { 
     "type": "object", 
     "description": "Scripts to execute during the various stages.", 
     "properties": { 
      "precompile": { "$ref": "#/definitions/script" }, 
      "postcompile": { "$ref": "#/definitions/script" }, 
      "prepack": { "$ref": "#/definitions/script" }, 
      "postpack": { "$ref": "#/definitions/script" }, 
      "prepublish": { "$ref": "#/definitions/script" }, 
      "postpublish": { "$ref": "#/definitions/script" }, 
      "prerestore": { "$ref": "#/definitions/script" }, 
      "postrestore": { "$ref": "#/definitions/script" }, 
      "prepare": { "$ref": "#/definitions/script" } 
     } 
    }, 
+0

beh, il link che hai postato è cambiato e ora '(post | pre) build' è' (post | pre) compile' –

+0

@TomerW Grazie, ho aggiornato la risposta. –

Problemi correlati