コード例 #1
0
        public void ExplodeAssembly(string applicationDirectory, Assembly assembly, IPackageFiles files)
        {
            var directory = FileSystem.Combine(
                applicationDirectory,
                "bin",
                FubuMvcPackages.FubuPackagesFolder, assembly.GetName().Name);

            var request = new ExplodeRequest{
                Directory = directory,
                GetVersion = () =>
                {
                    return assembly.GetName().Version.ToString();
                },
                LogSameVersion = () => Console.WriteLine("Assembly {0} has already been 'exploded' onto disk".ToFormat(assembly.GetName().FullName)),

                ExplodeAction = () => explodeAssembly(assembly, directory, files)
            };

            explode(request);

            _fileSystem.ChildDirectoriesFor(directory).Each(child =>
            {
                var name = Path.GetFileName(child);

                files.RegisterFolder(name, child.ToFullPath());
            });
        }
コード例 #2
0
        public void ExplodeAssembly(string applicationDirectory, Assembly assembly, IPackageFiles files)
        {
            var directory = FubuMvcPackages.GetDirectoryForExplodedPackage(applicationDirectory, assembly.GetName().Name);

            var request = new ExplodeRequest {
                Directory      = directory,
                GetVersion     = () => assembly.GetName().Version.ToString(),
                LogSameVersion =
                    () =>
                    Console.WriteLine(
                        "Assembly {0} has already been 'exploded' onto disk".ToFormat(assembly.GetName().FullName)),
                ExplodeAction = () => explodeAssembly(assembly, directory)
            };

            explode(request);

            _fileSystem.ChildDirectoriesFor(directory).Each(child =>
            {
                var name = Path.GetFileName(child);

                files.RegisterFolder(name, child.ToFullPath());
            });
        }
コード例 #3
0
        private void explodeAssembly(Assembly assembly, string directory, IPackageFiles files)
        {
            _fileSystem.DeleteDirectory(directory);
            _fileSystem.CreateDirectory(directory);
            assembly.GetManifestResourceNames().Where(IsEmbeddedPackageZipFile).Each(name =>
            {
                var folderName = EmbeddedPackageFolderName(name);
                var stream = assembly.GetManifestResourceStream(name);

                var description = "Resource {0} in Assembly {1}".ToFormat(name, assembly.GetName().FullName);
                var destinationFolder = FileSystem.Combine(directory, folderName);

                _service.ExtractTo(description, stream, destinationFolder);

                var version = assembly.GetName().Version.ToString();
                _fileSystem.WriteStringToFile(FileSystem.Combine(directory, FubuMvcPackages.VersionFile), version);
            });
        }
コード例 #4
0
 public PackageSettingsSource(IPackageFiles files)
 {
     _files = files;
 }
コード例 #5
0
 public PackageSettingsSource(IPackageFiles files)
 {
     _files = files;
 }
コード例 #6
0
 public PackageFileActivator(IPackageFiles files)
 {
     _files = files;
 }
コード例 #7
0
 public PackageFileActivator(IPackageFiles files)
 {
     _files = files;
 }