2014-08-28 22 views
5

.NET Compiler Platformunda ("Roslyn") Örneklerde ConsoleClassifier gibi bir şey oluşturmaya çalışıyorum.Yeni Microsoft.CodeAnalysis.CustomWorkspace oluşturma - ReflectionTypeLoadException var

CustomWorkspace workspace = new CustomWorkspace(); 

ReflectionTypeLoadException 
{"Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information."} 
LoaderExceptions: FileNotFoundException 
{"Could not load file or assembly 'Microsoft.Build, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. A rendszer nem találja a megadott fájlt.":"Microsoft.Build, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"} 

Ne kaçırdım: Bu noktada (Microsoft.CodeAnalysis v0.7 ...) Ben ReflectionTypeLoadException olsun?

stacktrace:

at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module) 
    at System.Reflection.RuntimeModule.GetTypes() 
    at System.Reflection.Assembly.GetTypes() 
    at System.ComponentModel.Composition.Hosting.AssemblyCatalog.get_InnerCatalog() 
    at System.ComponentModel.Composition.Hosting.AssemblyCatalog.GetExports(ImportDefinition definition) 
    at System.ComponentModel.Composition.Hosting.AggregateCatalog.GetExports(ImportDefinition definition) 
    at System.ComponentModel.Composition.Hosting.CatalogExportProvider.InternalGetExportsCore(ImportDefinition definition, AtomicComposition atomicComposition) 
    at System.ComponentModel.Composition.Hosting.CatalogExportProvider.InnerCatalogExportProvider.GetExportsCore(ImportDefinition definition, AtomicComposition atomicComposition) 
    at System.ComponentModel.Composition.Hosting.ExportProvider.TryGetExportsCore(ImportDefinition definition, AtomicComposition atomicComposition, IEnumerable`1& exports) 
    at System.ComponentModel.Composition.Hosting.CatalogExportProvider.GetExportsCore(ImportDefinition definition, AtomicComposition atomicComposition) 
    at System.ComponentModel.Composition.Hosting.ExportProvider.TryGetExportsCore(ImportDefinition definition, AtomicComposition atomicComposition, IEnumerable`1& exports) 
    at System.ComponentModel.Composition.Hosting.ExportProvider.GetExports(ImportDefinition definition, AtomicComposition atomicComposition) 
    at System.ComponentModel.Composition.Hosting.AggregateExportProvider.GetExportsCore(ImportDefinition definition, AtomicComposition atomicComposition) 
    at System.ComponentModel.Composition.Hosting.ExportProvider.TryGetExportsCore(ImportDefinition definition, AtomicComposition atomicComposition, IEnumerable`1& exports) 
    at System.ComponentModel.Composition.Hosting.CompositionContainer.GetExportsCore(ImportDefinition definition, AtomicComposition atomicComposition) 
    at System.ComponentModel.Composition.Hosting.ExportProvider.TryGetExportsCore(ImportDefinition definition, AtomicComposition atomicComposition, IEnumerable`1& exports) 
    at System.ComponentModel.Composition.Hosting.ExportProvider.GetExports(ImportDefinition definition, AtomicComposition atomicComposition) 
    at System.ComponentModel.Composition.Hosting.ExportProvider.GetExportsCore(Type type, Type metadataViewType, String contractName, ImportCardinality cardinality) 
    at System.ComponentModel.Composition.Hosting.ExportProvider.GetExportsCore[T,TMetadataView](String contractName) 
    at System.ComponentModel.Composition.Hosting.ExportProvider.GetExports[T,TMetadataView](String contractName) 
    at System.ComponentModel.Composition.Hosting.ExportProvider.GetExports[T,TMetadataView]() 
    at Microsoft.CodeAnalysis.Host.Mef.MefHostServices.<GetExports>b__6[TExtension,TMetadata](ExportKey _) 
    at System.Collections.Immutable.ImmutableInterlocked.GetOrAdd[TKey,TValue](ImmutableDictionary`2& location, TKey key, Func`2 valueFactory) 
    at Microsoft.CodeAnalysis.Host.Mef.MefHostServices.GetExports[TExtension,TMetadata]() 
    at Microsoft.CodeAnalysis.Host.Mef.MefHostServices.MefWorkspaceServices..ctor(MefHostServices host, Workspace workspace) 
    at Microsoft.CodeAnalysis.Host.Mef.MefHostServices.CreateWorkspaceServices(Workspace workspace) 
    at Microsoft.CodeAnalysis.Workspace..ctor(HostServices host, String workspaceKind) 
    at Microsoft.CodeAnalysis.CustomWorkspace..ctor(HostServices host, String workspaceKind) 
    at Microsoft.CodeAnalysis.CustomWorkspace..ctor() 

cevap

5

Sen VS "14" yüklemek Araçlar paketi kurmak gerekir. ISO here'da bulabilirsiniz.

+0

Microsoft.Net.ToolsetCompilers'ın yerine bir başvuru ekleyeceğini varsayalım mı? VS2013 içinde bunu deneyebilmek için çok isterim. (Veya VS'nin kendisinden ayrı olan oluşturma araçları paketi? Triedhurst'un Confused ...) –

+0

Hayır, araç seti paketi, sistem yüklü olanlar yerine Roslyn derleyicilerinin belirli bir sürümünü kullanmanıza olanak tanır. Bu durumda, Roslyn MSBuild'i referans gösteriyor. Yine de, bu farklı bir meclise dahil edilmeyecek ve Çalışma Alanı konularının çoğunluğu bir PCL olacak. –

+0

Harika, teşekkürler - Şu an için Yüzüme CTP4 yükledim :) –

İlgili konular