本文整理汇总了C#中Compilation.ToMetadataReference方法的典型用法代码示例。如果您正苦于以下问题:C# Compilation.ToMetadataReference方法的具体用法?C# Compilation.ToMetadataReference怎么用?C# Compilation.ToMetadataReference使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Compilation
的用法示例。
在下文中一共展示了Compilation.ToMetadataReference方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CompileInMemory
private AssemblyLoadResult CompileInMemory(string name, Compilation compilation, IEnumerable<ResourceDescription> resources)
{
using (var pdbStream = new MemoryStream())
using (var assemblyStream = new MemoryStream())
{
#if DESKTOP
EmitResult result = compilation.Emit(assemblyStream, pdbStream: pdbStream, manifestResources: resources);
#else
EmitResult result = compilation.Emit(assemblyStream);
#endif
if (!result.Success)
{
return ReportCompilationError(result);
}
var assemblyBytes = assemblyStream.ToArray();
#if DESKTOP
var pdbBytes = pdbStream.ToArray();
#endif
var compiled = new CompiledAssembly
{
#if DESKTOP
Assembly = Assembly.Load(assemblyBytes, pdbBytes),
#else
Assembly = Assembly.Load(assemblyBytes),
#endif
MetadataReference = compilation.ToMetadataReference()
};
_compiledAssemblies[name] = compiled;
return new AssemblyLoadResult(compiled.Assembly);
}
}