2014-12-17 7 views
6

Roslyn sürüm 1.2. *, Derlemenin görünen adını alan ve uygun MetadataReference nesnesini döndüren MetadataReference.CreateAssemblyReference() adlı bir işleve sahiptir. Ancak bu (bu bir Nuget yükleyebileceğiniz en son paket) Microsoft.CodeAnalysis paketiyle mümkün görünmüyorRoslyn Vs'de Meta Veriler Ekleme Microsoft.CodeAnalysis

Compilation compilation = Compilation.Create("HelloWorld") 
       .AddReferences(MetadataReference.CreateAssemblyReference("mscorlib"), 
        MetadataReference.CreateAssemblyReference("System.Linq"), 
        MetadataReference.CreateAssemblyReference("System.Data.Linq"), 
        MetadataReference.CreateAssemblyReference("System.Data"), 
        MetadataReference.CreateAssemblyReference("System.Data.DataSetExtensions"), 
        MetadataReference.CreateAssemblyReference("System.Xml"), 
        MetadataReference.CreateAssemblyReference("System.Xml.Linq"), 
        MetadataReference.CreateAssemblyReference("System"), 
        MetadataReference.CreateAssemblyReference("System.Core") 
       //MetadataReference.CreateAssemblyReference("System.Core"), 
       /*MetadataReference.CreateAssemblyReference("System")*/) 
       .AddSyntaxTrees(tree); 

şöyledir: Mesela ben çeşitli meclislere başvuru eklemek başardı. Bu paketin MetadataReference içinde birkaç işlevi vardır - ancak bunlar bir Montaj veya dosya yolu gerektirir.

Yukarıda belirtilen daha basit işlevler yeni derleyici paketlerinde var mı?

CLR yükleyicisi ile derleme yükleme ve yüklenen nerede öğrenebilirim
+0

Hayır; montajı nereden yükleyeceğinizi söylemeniz gerekir. – SLaks

+0

Oh - "System.Data.DataSetExtensions" gibi bir derleme için "C: \ Windows \ Microsoft.NET \ assembly \ GAC_MSIL \ System.Data.DataSetExtensions \ v4.0_4.0.0" gibi tam yolu belirtmek zorundayım. 0__b77a5c561934e089 "? Bunu almanın kolay bir yolu var mı? – shekhar

cevap

2

:

typeof(DataSetExtensions).Assembly.Location