示例#1
0
        public IMetadataProjectReference CompileProject(
            ICompilationProject project,
            ILibraryKey target,
            Func <ILibraryExport> referenceResolver,
            Func <IList <ResourceDescriptor> > resourcesResolver)
        {
            var export = referenceResolver();

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

            var incomingReferences       = export.MetadataReferences;
            var incomingSourceReferences = export.SourceReferences;

            var compliationContext = _compiler.CompileProject(
                project,
                target,
                incomingReferences,
                incomingSourceReferences,
                resourcesResolver);

            if (compliationContext == null)
            {
                return(null);
            }

            // Project reference
            return(new RoslynProjectReference(compliationContext));
        }
示例#2
0
        public IMetadataProjectReference GetProjectReference(
            Project project,
            ILibraryKey target,
            Func <ILibraryExport> referenceResolver,
            IList <IMetadataReference> outgoingReferences)
        {
            var export                   = referenceResolver();
            var incomingReferences       = export.MetadataReferences;
            var incomingSourceReferences = export.SourceReferences;

            var compliationContext = _compiler.CompileProject(
                project,
                target,
                incomingReferences,
                incomingSourceReferences,
                outgoingReferences);

            if (compliationContext == null)
            {
                return(null);
            }

            // Project reference
            return(new RoslynProjectReference(compliationContext));
        }
示例#3
0
        public IMetadataProjectReference GetProjectReference(
            Project project,
            FrameworkName targetFramework,
            string configuration,
            IEnumerable <IMetadataReference> incomingReferences,
            IEnumerable <ISourceReference> incomingSourceReferences,
            IList <IMetadataReference> outgoingReferences)
        {
            var compliationContext = _compiler.CompileProject(
                project,
                targetFramework,
                configuration,
                incomingReferences,
                incomingSourceReferences,
                outgoingReferences);

            if (compliationContext == null)
            {
                return(null);
            }

            // Project reference
            return(new RoslynProjectReference(compliationContext));
        }