2016-01-21 39 views
5

Sto provando a scrivere uno script C# interattivo (.csx) che deve utilizzare un pacchetto NuGet, ma devo trascurare qualcosa di fondamentale perché non riesco a farlo funzionare.Riferimento ai pacchetti NuGet dallo script csx

Ho provato ad aggiungere un project.json che si riferisce al pacchetto, e viene installato nella directory dei pacchetti globale quando ho nuget restore, ma sembra che la direttiva #r non sembra lì. Non sono riuscito a trovare una documentazione pertinente su come funziona la direttiva #r (la maggior parte dei documenti sembra trattare il simile ma diverso progetto chiamato ScriptCS).

Come si scrive uno script csx che fa riferimento ai pacchetti NuGet?

+0

Per favore, vota questa funzione su uservoice: [Consenti il ​​caricamento degli assembly di nuget-da csx] (https://visualstudio.uservoice.com/forums/121579-visual-studio-ide/suggestions/18463615-allow-loading- nuget-assemblies-from-csx) – Liero

risposta

3

This La voce wiki ha una nota per la finestra interattiva che dice che è necessario fare riferimento direttamente alla DLL NuGet. Quindi è possibile utilizzare il percorso assoluto della DLL nella directory globale dei pacchetti. Non è l'ideale, ma dovrebbe funzionare.

+0

Ma questo è per la finestra interattiva in VS, non per il corridore CLI standalone, giusto? – Krumelur

+0

E anche se fare riferimento alla directory globale dei pacchetti funzionasse, non vedo come potrei scrivere un riferimento simile senza accedere alle variabili di ambiente. Anche supponendo che la directory non sia sovrascritta, la directory predefinita contiene il nome utente. – Krumelur

5

C# Interactive non può fare riferimento a pacchetti NuGet, ma è possibile impostare scriptcs.

+0

Grazie! Sospetto che sia così, ma non sono riuscito a trovare alcuna buona fonte su questo. Come hai scoperto che questo è il caso? – Krumelur

+0

Conosco gli scriptcs ma sono riluttante a introdurre nuove dipendenze non nuget al momento. – Krumelur

+0

Conosco gli scriptcs e l'ho provato. L'ultima volta che ho provato, era in esecuzione la versione beta di C# e non ha tutte le funzionalità di C# 6. –

Problemi correlati