Come configurare VS 2015 per abilitare le funzionalità di script C# di Roslyn?Come abilitare lo script C# in VS 2015?
Ho provato a installare vari pacchetti Nuget, incluse le versioni 1.0 e 1.1.0-beta1 di Microsoft.CodeAnalysis.CSharp, Microsoft.CodeAnalysis.Scripting.CSharp, ecc., Ma non riesco a ottenerne nessuna gli esempi che ho trovato online per funzionare. Ricevo errori di tipo non trovato, ad esempio
var scriptEngine = new ScriptEngine();
... non riesce perché il tipo "ScriptEngine" non è stato trovato.
Qualcuno può fornire come ricetta che include quali pacchetti di nuget installare, quali istruzioni sono richieste, ecc., Per implementare lo script di Roslyn?
UPDATE # 1:
ho fatto qualche progresso, ma ancora problemi. Ricevo un sacco di avvertenze sul compilatore e poi una TypeInitilizationException apparentemente dovuta a una mancata corrispondenza della versione del componente.
Ora sto utilizzando il seguente codice di esempio (tratto da un test), e non c'è nessun tipo mancanti:
using System;
using Microsoft.CodeAnalysis.Scripting.CSharp;
namespace RoslynScriptingTest {
class Program {
static void Main(string[] args) {
var script = CSharpScript.Create("1 + 2");
var fn = script.CreateDelegate();
var value = fn();
Console.WriteLine("value={0}", value.ToString());
}
}
}
Ho caricato tutti i pacchetti notturne che sono disponibili a https://www.myget.org/F/roslyn-nightly/.
Ricevo una serie di avvisi di build che fanno riferimento a Microsoft.CodeAnalysis, v1.1.0.0.
L'esecuzione dell'exe nonostante gli avvisi restituisce la TypeInitilizationException menzionata sopra. In base allo stacktrace, TypeInitializationError è causato da una mancata corrispondenza della versione per System.Reflection.Metadata.dll.
Non so da dove andare. Non capisco come i pacchetti/componenti relativi allo scripting combacino. Ho visto alcuni post di quest'anno che descrivono la costruzione completa di Roslyn. Non l'ho fatto. È necessario?
Questo mi ricorda l'inferno DLL dei vecchi tempi.
nightlies Provato prima, ma aveva di esempi di data. Migliore esempio di compilazione ma con diversi avvisi: "istanza dell'analizzatore Microsoft.CodeAnalysis.Analyzers.InternalImplementationOnlyAnalyzer non può essere creata da ... \ RoslynScriptingTest \ packages \ Microsoft.CodeAnalysis.Analyzers.1.1.0-beta1-20150725-01 \ analysers \ dotnet \ cs \ Microsoft.CodeAnalysis.Analyzers.dll: impossibile caricare il file o l'assembly 'Microsoft.CodeAnalysis, Version = 1.1.0.0, ...' o una delle sue dipendenze.Il sistema non riesce a trovare il file specificato. " EXE lancia una TypeInitializationException in CSharpScript.Create(). –
Aggiorna il pacchetto anche a notte. – SLaks
Non sai quale pacchetto installare, o dove trovarlo. Ho provato tutto sul sito di Roslyn-nightly. Vedere l'aggiornamento n. 1 sopra. Grazie. –