示例#1
0
        public bool Build(List <DiagnosticMessage> diagnostics)
        {
            var export = _libraryExporter.GetExport(_project.Name);

            if (export == null)
            {
                return(false);
            }

            var metadataReference = export.MetadataReferences
                                    .OfType <IMetadataProjectReference>()
                                    .FirstOrDefault(r => string.Equals(r.Name, _project.Name, StringComparison.OrdinalIgnoreCase));

            if (metadataReference == null)
            {
                return(false);
            }

            var result = metadataReference.EmitAssembly(_outputPath);

            diagnostics.AddRange(_libraryManager.GetAllDiagnostics());

            if (result.Diagnostics != null)
            {
                diagnostics.AddRange(result.Diagnostics);
            }

            return(result.Success && !diagnostics.HasErrors());
        }
示例#2
0
        public void LibraryExporter_TestGetExport()
        {
            var export = _libraryExporter.GetExport("Microsoft.Extensions.CodeGenerators.Mvc");

            Assert.Equal("Microsoft.Extensions.CodeGenerators.Mvc", export.Library.Identity.Name);
        }