本文整理汇总了C#中IProject.Flatten方法的典型用法代码示例。如果您正苦于以下问题:C# IProject.Flatten方法的具体用法?C# IProject.Flatten怎么用?C# IProject.Flatten使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IProject
的用法示例。
在下文中一共展示了IProject.Flatten方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Execute
public void Execute(IProject project)
{
var refs = project.References.Select(MetadataReference.CreateAssemblyReference).ToList();
refs.Add(new MetadataFileReference(typeof(IModel).Assembly.Location));
var tree = project.Flatten().OfType<PartProjectItem>().Select(p => SyntaxTree.ParseText(p.Load()));
var comp = Compilation.Create("OpenCADOutput", new CompilationOptions(OutputKind.DynamicallyLinkedLibrary), tree, refs);
using (var output = new MemoryStream())
{
var emitResult = comp.Emit(output);
foreach (var diagnostic in emitResult.Diagnostics)
{
Debug.WriteLine(diagnostic.ToString());
}
if (!emitResult.Success) throw new Exception("failed build");
byte[] compiledAssembly = output.ToArray();
var assembly = Assembly.Load(compiledAssembly);
var types = assembly.GetTypes();
var type = types.FirstOrDefault();
}
}