Jak skonfigurować VS 2015, aby włączyć obsługę skryptów Roslyn w języku C#?Jak włączyć obsługę skryptów C# w VS 2015?
Próbowałem zainstalować różne pakiety Nuget, w tym wersje 1.0 i 1.1.0-beta1 Microsoft.CodeAnalysis.CSharp, Microsoft.CodeAnalysis.Scripting.CSharp, itp., Ale nie mogę uzyskać żadnego z przykłady, które udało mi się znaleźć online. Otrzymuję błędy typu "nie znaleziono typu", tj.
var scriptEngine = new ScriptEngine();
... nie działa, ponieważ nie znaleziono typu "ScriptEngine".
Czy ktoś może podać jako przepis, który zawiera pakiety nuget do zainstalowania, które instrukcje są wymagane, itp., Aby zaimplementować skrypt Roslona?
Aktualizacja # 1:
Mam pewien postęp, ale nadal występują problemy. Dostaję garść ostrzeżeń kompilatora, a następnie wyjątek TypeInitilizationException, który najwyraźniej wynika z niedopasowania wersji składników.
Obecnie używam następujący przykładowy kod (wzięte z testu), a tam nie ma brakujących typów:
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());
}
}
}
mam załadowany wszystkich nocnych pakietów, które są dostępne w https://www.myget.org/F/roslyn-nightly/.
Otrzymuję serię ostrzeżeń dotyczących kompilacji, które odnoszą się do Microsoft.CodeAnalysis, v1.1.0.0.
Uruchamianie instrukcji exe pomimo ostrzeżeń powoduje wyżej wymienione wyjątki TypeInitilizationException. Na podstawie śledzenia stosu błąd TypeInitializationError spowodowany jest niedopasowaniem wersji dla pliku System.Reflection.Metadata.dll.
Nie jestem pewien, dokąd się udać. Nie rozumiem, w jaki sposób pakiety/komponenty związane ze skryptami pasują do siebie. Widziałem kilka postów z tego roku, które opisują kompletnie budowę Roslyn. Nie zrobiłem tego. Czy to konieczne?
To przypomina mi piekło DLL od dawnych czasów.
Wypróbowane nightly wcześniej, ale miałem z przykładów dat. Lepszy przykład kompiluje, ale z kilkoma ostrzeżeniami: "instancji analizatora Microsoft.CodeAnalysis.Analyzers.InternalImplementationOnlyAnalyzer nie można utworzyć z ... \ RoslynScriptingTest \ packages \ Microsoft.CodeAnalysis.Analyzers.1.1.0-beta1-20150725-01 \ analyzers \ dotnet \ cs \ Microsoft.CodeAnalysis.Analyzers.dll: Nie można załadować pliku lub zestawu "Microsoft.CodeAnalysis, Version = 1.1.0.0, ..." lub jednej z jego zależności.Nie system nie może znaleźć określonego pliku. " EXE wyrzuca wyjątek TypeInitializationException w CSharpScript.Create(). –
Uaktualnij także ten pakiet do codziennych. – SLaks
Nie jesteś pewien, którą paczkę zainstalować i skąd ją wziąć. Próbowałem wszystkiego na stronie Roslyn-nightly. Zobacz Aktualizacja nr 1 powyżej. Dzięki. –