2015-06-22 13 views
13

Sto imparando ASP.NET Core 1.0 (vNext). Con questo in mente, ho una soluzione che è strutturato in questo modo:Libreria di riferimento in ASP.NET Core 1.0 (vNext)

MySolution 
    src 
    MyLibrary 
     MyClass.cs 
     project.json 
    MyWebSite 
     Startup.cs 
     project.json 

sto la compilazione con successo MyLibrary dalla riga di comando utilizzando dnu build. Ho eseguito dnu pack che ha generato MyLibrary.1.0.0.nupkg. Esistono anche due cartelle: dnx451 e dnxcore50 che contengono entrambi MyLibrary.1.0.0.dll. Voglio usare MyLibrary in MyWebSite, tuttavia, sono confuso.

  1. Come "includere" MyLibrary in MyWebSite? Copio manualmente il file .dll? Se sì, quale? Devo utilizzare il file nupkg? Questo è un assembly privato, non voglio pubblicarlo globalmente tramite NuGet.
  2. Cosa devo inserire in MyWebSite/project.json per fare riferimento all'assemblaggio MyLibrary?

risposta

4

Non è necessario pubblicare il pacchetto di NuGet se don' t voglio condividerlo con altre persone/progetti al di fuori della tua soluzione. Puoi solo fare riferimento al pacchetto direttamente dal sorgente.

Tuttavia, se questo ancora non funziona per voi allora avete tre opzioni:

  1. interiorizzare utilizzando Roslyn. Esempio: project.json e actual code
  2. È possibile fare riferimento direttamente alle fonti. Esempio project.json
  3. Creare una dipendenza del tempo di costruzione.Esempio project.json e actual code for the package
+3

I collegamenti sono tutti interrotti –

6

Si sta utilizzando Visual Studio 2015 RC? Se è così allora seguire questi passaggi:

  1. ampliamento del progetto web in Esplora soluzioni
  2. clic destro sul Riferimenti
  3. Cliccare sulla Aggiungi riferimento ... dal menu contestuale
  4. Select Progetti dal Reference Manager
  5. Spuntare la casella accanto a MyLibrary
  6. clic su OK
  7. Profit

Se non si utilizza Visual Studio allora questo può essere ottenuto aggiornato il file project.json nel progetto web.

Se è stato creato un "progetto di libreria di classi vNext" quindi aggiungere questo ai dipendenze proprietà sul oggetto JSON:

"dependencies": { 
     "MyLibrary": "1.0.0-*" 
    } 
+1

Sto usando vNext. Tuttavia, dove si trova il runtime per una libreria a cui si fa riferimento nelle dipendenze del file project.json? Il file .dll deve essere da qualche parte in modo che l'applicazione possa usarlo. Non sono sicuro di dove possa appartenere. –

3
  1. Molte domande in grassetto.

(Come si "include" MyLibrary in MyWebSite?) In MyWebSite/project.json: aggiungere il riferimento in questo modo (non preoccuparti per il numero di versione che non rivela). Add VS2015RC class library reference

(copio manualmente il file dll?)

No

(Questo è un assembly privato, io non voglio pubblicarlo a livello globale tramite NuGet.)

Allora non lo facciamo :)

referenziare la tua libreria di classi dal vostro web applicazione m assicurarsi che sia incluso quando si costruisce l'applicazione web. Quindi è necessario copiare i file dell'applicazione Web su un server applicazioni in grado di eseguirlo. Penso che dovresti provare a pubblicare la tua applicazione web in un'app Web di Azure e quindi utilizzare explorer del server per vedere come appaiono i file sul server dopo la pubblicazione. O sapevi già che non c'è motivo di creare un pacchetto prima di utilizzarlo nella tua app web?