2017-01-04 34 views
0

目前,我想要尝试与OSX的罗斯林工作区API,并保持运行到以下异常:未能从程序集加载类型“System.Reflection.Metadata.ISignatureTypeProvider System.Reflection.Metadata

“无法从程序集”System.Reflection.Metadata,版本= 1.4.1.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'加载类型'System.Reflection.Metadata.ISignatureTypeProvider`1'“。

是否有其他人能够阐明什么可能导致这一点?

这里是我使用的代码:

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(); 
    } 
} 

,这是我使用

 
{ 
    "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" ] 
     } 
    } 
} 

这里是整个堆栈跟踪太project.json:

“在System.Reflection.RuntimeModule.GetTypes(RuntimeModule模块)\ n在System.Reflection.RuntimeAssembly.get_DefinedTypes()\ n在System.Composition.Hosting.Cont ainerConfiguration.b__0(Assembly a)\ n at System.Linq.Enumerable.d__159 2.MoveNext()\n at System.Composition.TypedParts.TypedPartExportDescriptorProvider..ctor(IEnumerable 1种类型,AttributedModelProvider attributeContext)\ n在Microsoft.CodeAnalysis.Host.Mef.MefHostServices上System.Composition.Hosting.ContainerConfiguration.CreateContainer()\ n .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集合)\ n在System.Linq.Enumerable.ToList [TSource](IEnumerable`1源)\ n在ClassLibrary.Class1。 GetProject()在/Users/personal/Dev/RoslynWorkspace2/src/Lib/Library.cs:line 21 \ n at WebAPIApplication.Controllers.ValuesController.Get()in/Users/personal/Dev/RoslynWorkspace2/src/WebAPIApplication/Controllers /ValuesController.cs:line 13 \ n at lambda_method(Closure,Object,Object [])\ n at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.d__28.MoveNext()“

+0

嗨,约瑟夫,你解决了这个问题吗? – Mergasov

+0

是的,我做了,结果发现它是其中一个包中的问题,我回滚到以前的版本,问题就消失了。 –

回答

0

将“System.Reflection.Metadata”添加为project.json的依赖项。

相关问题