Ho creato un progetto di libreria di classi e ho elaborato e utilizzato anche Roslyn per generare codice.Roslyn gira La lingua 'C#' non è supportata
Uso la libreria in un'applicazione GUI WPF come riferimento.
Questi sono i pacchetti Nuget:
Costruire mostra nessun errore, ma quando uso il seguente codice:
private static void GetGenerator()
{
workspace = new AdhocWorkspace();
generator = SyntaxGenerator.GetGenerator(workspace, LanguageNames.CSharp);
}
ottengo un'eccezione:
"La lingua 'C#' non è supportata."
at: Microsoft.CodeAnalysis.Host.HostWorkspaceServices.GetLanguageServices(String languageName)
at: Microsoft.CodeAnalysis.Host.Mef.MefWorkspaceServices.GetLanguageServices(String languageName)
at: Microsoft.CodeAnalysis.Editing.SyntaxGenerator.GetGenerator(Workspace workspace, String language)
Secondo this e this, devo copiare i file localmente la CodeAnalysis e aggiungere i riferimenti necessari. Sono lì, eppure l'errore si verifica.
Si tratta di un errore che non è stato risolto nell'ultimo anno?
Che altro dovrei fare?
Avete una dipendenza dal pacchetto Microsoft.CodeAnalysis.CSharp.Workspaces? – svick
@svick Sì, sì, ho aggiornato il mio post iniziale con l'elenco dei pacchetti NuGet. – Nestor
IMO questo è un [problema con MsBuild] (https://github.com/Microsoft/msbuild/issues/1469) – StingyJack