2017-01-04 1 views
0

J'essaie actuellement d'expérimenter avec l'API Roslyn Workspaces sur OSX et continuer à courir dans l'exception suivante lors de l'appel CreateRoslynWorkspace:Impossible de charger le type « System.Reflection.Metadata.ISignatureTypeProvider de l'assemblage System.Reflection.Metadata

"Impossible de charger le type 'System.Reflection.Metadata.ISignatureTypeProvider`1' à partir de l'assembly 'System.Reflection.Metadata, Version = 1.4.1.0, Culture = neutre, PublicKeyToken = b03f5f7f11d50a3a'."

Quelqu'un d'autre est-il en mesure de faire la lumière sur ce qui pourrait être à l'origine de cette situation?

Voici le code que je utilise:

public static class Class1 
{ 
    public static IEnumerable<Microsoft.CodeAnalysis.Workspace> Create(string projectPath) 
    { 
     var builder = new ProjectContextBuilder().WithProjectDirectory(projectPath); 

     return builder.BuildAllTargets().Select(context => context.CreateRoslynWorkspace()); 
    } 

    public static void GetProject() 
    { 
     // Entry point 
     var path = Directory.GetCurrentDirectory() + "/src/DemoLib/project.json"; 
     var result = Create(path).ToList(); 
    } 
} 

et c'est le project.json J'utilise

 
{ 
    "version": "1.0.0-*", 
    "buildOptions": { 
    "debugType": "portable" 
    }, 
    "dependencies": { 
    "Microsoft.CodeAnalysis.CSharp": "2.0.0-rc2", 
    "Microsoft.CodeAnalysis.CSharp.Features": "2.0.0-rc2", 
    "Microsoft.CodeAnalysis.CSharp.Workspaces": "2.0.0-rc2", 
    "Microsoft.DotNet.ProjectModel": "1.0.0-rc3-1-003177", 
    "Microsoft.DotNet.ProjectModel.Loader": "1.0.0-preview2-1-003177", 
    "Microsoft.DotNet.ProjectModel.Workspaces": "1.0.0-preview2-1-003177" 
    }, 
    "frameworks": { 
     "netcoreapp1.1": { 
     "imports": [ "portable-net45+win8" ] 
     } 
    } 
} 

Voici la trace de la pile entière aussi:

"à System.Reflection.RuntimeModule.GetTypes (module RuntimeModule) \ n à System.Reflection.RuntimeAssembly.get_DefinedTypes() \ n à System.Composition.Hosting.Cont ainerConfiguration.b__0 (Assembly a) \ n à System.Linq.Enumerable.d__159 2.MoveNext()\n at System.Composition.TypedParts.TypedPartExportDescriptorProvider..ctor(IEnumerable 1 types, AttributedModelProvider attributeContext) \ n à System.Composition.Hosting.ContainerConfiguration.CreateContainer() \ n à Microsoft.CodeAnalysis.Host.MefHostServices .Create (IEnumerable 1 assemblies)\n at Microsoft.CodeAnalysis.Host.Mef.MefHostServices.get_DefaultHost()\n at Microsoft.DotNet.ProjectModel.Workspaces.ProjectJsonWorkspace..ctor(ProjectContext context)\n at Microsoft.DotNet.ProjectModel.Workspaces.WorkspaceProjectContextExtensions.CreateRoslynWorkspace(ProjectContext context)\n at ClassLibrary.Class1.<>c.<Create>b__0_0(ProjectContext context) in /Users/personal/Dev/RoslynWorkspace2/src/Lib/Library.cs:line 16\n at System.Linq.Enumerable.SelectEnumerableIterator 2.MoveNext() \ n à System.Collections.Generic.List 1..ctor(IEnumerable 1 collection) \ n à System.Linq.Enumerable.ToList [TSource] (IEnumerable`1 source) \ n à ClassLibrary.Class1. GetProject() dans /Users/personal/Dev/RoslynWorkspace2/src/Lib/Library.cs:line 21 \ n à WebAPIApplication.Controllers.ValuesController.Get() dans/Users/personnel/Dev/RoslynWorkspace2/src/WebAPIApplication/Contrôleurs /ValuesController.cs:line 13 \ n à lambda_method (fermeture, objet, objet []) \ n à Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.d__28.MoveNext() "

+0

Salut, Joseph, avez-vous résolu ce problème? – Mergasov

+0

Oui, je l'ai fait, il s'est avéré que c'était un problème dans l'un des paquets, je suis revenu à une version précédente et le problème est parti. –

Répondre

0

Ajoutez "System.Reflection.Metadata" comme dépendance à project.json.