예제 #1
0
        public IBindResult Bind(IBindContext context)
        {
            var extensionManager = context.ServiceProvider.GetService <IExtensionManager>();

            var backendExtensions = extensionManager.GetServices <IBurnBackendExtension>();

            foreach (var extension in backendExtensions)
            {
                extension.PreBackendBind(context);
            }

            var command = new BindBundleCommand(context, backendExtensions);

            command.Execute();

            var result = context.ServiceProvider.GetService <IBindResult>();

            result.FileTransfers = command.FileTransfers;
            result.TrackedFiles  = command.TrackedFiles;
            result.Wixout        = command.Wixout;

            foreach (var extension in backendExtensions)
            {
                extension.PostBackendBind(result);
            }

            return(result);
        }
예제 #2
0
        public BindResult Bind(IBindContext context)
        {
            BindBundleCommand command = new BindBundleCommand(context);

            //command.DefaultCompressionLevel = context.DefaultCompressionLevel;
            //command.Extensions = context.Extensions;
            //command.IntermediateFolder = context.IntermediateFolder;
            //command.Output = context.IntermediateRepresentation;
            //command.OutputPath = context.OutputPath;
            //command.PdbFile = context.OutputPdbPath;
            //command.WixVariableResolver = context.WixVariableResolver;
            command.Execute();

            return(new BindResult {
                FileTransfers = command.FileTransfers, ContentFilePaths = command.ContentFilePaths
            });
        }