2015-01-18 11 views
7

In base allo http://blogs.msdn.com/b/webdev/archive/2015/01/16/asp-net-5-in-visual-studio-2015-ctp-5.aspx, ora è possibile includere librerie di classi regolari per i progetti asp.net 5/vnext.Come aggiungere riferimenti regolari alle librerie di classi in ASP.NET 5 e Visual Studio 2015 CTP?

Quando uso il riferimento Aggiungere il package.config viene aggiornato in modo che appaia qualcosa di simile:

... 
"frameworks": { 
    "aspnet50": { 
     "dependencies": { 
      "ClassLib": "1.0.0-*" 
     } 
    }, 
    "aspnetcore50": { } 
}, 
... 

Tutto sembra bene in Visual Studio e IntelliSense opere, ma non riesce a costruire. Ottengo l'errore CS103 (il nome 'xxxx' non esiste nel contesto corrente). Qualche idea?

Inoltre, si suppone che funzioni anche per il targeting del core?

+0

Provare a fare riferimento a esso senza la versione "ClassLib": "" Assicurarsi inoltre di aver selezionato la versione completa di .Net framework nelle proprietà del progetto perché è lì che si aggiunge il riferimento. –

+0

@PankajKapare, già provato senza fortuna. –

+0

Cerchi di fare riferimento a librerie compilate o progetti di librerie di classi? Solo il precedente funziona –

risposta

0

Utilizzando il recente rilasciato Visual Studio 2015 CTP ero solo ora in grado di:

  1. Creare un nuovo progetto "ASP.NET 5 antipasto App".
  2. Aggiungi un nuovo (non ASP.NET 5) progetto normale libreria di classi alla soluzione creata dal passaggio 1.
  3. Aggiunto un metodo statico public static DateTime Foo.GetTime() nella libreria di classi.
  4. Aggiunto ClassLibrary1.Foo.GetTime(). ToString() alla vista indice di casa.

Tutto compilato ed eseguito, visualizzando il valore di tempo restituito dalla libreria di classi.

(Nota: sto assicurando che non sto usando un runtime core Sono progetti abbastanza sicuro utilizzando il runtime core può utilizzare solo .dlls costruite contro il runtime core..)

+1

A partire da CTP6, questo non sembra funzionare. Il tipo non è visibile dal progetto vNext nonostante sia in grado di aggiungere la libreria di classi ai riferimenti (e questa viene visualizzata nel file project.json). –

+1

Anche io non riesco a farlo funzionare in CTP6. Ho aggiunto il riferimento, è apparso nel mio file project.json all'interno del nodo frameworks.aspnet50, ma non riesco a compilare, dice che non riesce a trovare la libreria. – happyfirst

0

ho incontrato di recente questo problema ed è stato in grado di risolverlo modificando il Target Framework sulla mia libreria di classi su 4.5.1. Per impostazione predefinita, i progetti di libreria di classi useranno 4.5.2. Quando si tenta di aggiungere il riferimento al proprio progetto ASP.NET 5, tenterà di inserirlo nel bucket DNX 4.5.1 e con un progetto 4.5.2 che non funziona.

+0

Questo non funziona. Vedi qui http://stackoverflow.com/questions/32868780/shared-class-library-references-for-asp-net-5-beta-7 –