예제 #1
0
        private void AddAssembly(MSBuildAssembly msbuildAssembly)
        {
            string filePath = msbuildAssembly.FilePath;

            if (_assemblyByFilePath.ContainsKey(filePath))
            {
                return;
            }

            var projectAssembly = new AD.ProjectAssembly();

            projectAssembly.FilePath = filePath;

            if (msbuildAssembly.Sign)
            {
                projectAssembly.Sign = new AD.ProjectAssemblySign()
                {
                    DelaySign = msbuildAssembly.DelaySign,
                    KeyFile   = msbuildAssembly.KeyFilePath,
                    Password  = msbuildAssembly.KeyPassword,
                };
            }

            _project.Assemblies.Add(projectAssembly);

            OnProjectChanged();

            var assembly          = _assemblyManager.LoadAssembly(filePath);
            var assemblyViewModel = new AssemblyViewModel(assembly, projectAssembly, this);

            AddAssembly(assemblyViewModel);
            _assemblyByFilePath.Add(filePath, projectAssembly);
        }
        public AssemblyDetailsViewModel(AssemblyViewModel parent)
            : base(parent)
        {
            _assembly        = Node.Assembly;
            _projectAssembly = Node.ProjectAssembly;
            _projectSign     = _projectAssembly.Sign;

            _filePath       = _projectAssembly.FilePath;
            _outputFilePath = _filePath;

            UpdateOutputFilePath();

            if (File.Exists(_filePath))
            {
                var fileInfo = new FileInfo(_filePath);
                _createdDate      = fileInfo.CreationTime;
                _lastModifiedDate = fileInfo.LastWriteTime;
                _fileSize         = fileInfo.Length;
            }

            _changeInputCommand       = new DelegateCommand(ChangeInput);
            _changeOutputCommand      = new DelegateCommand(ChangeOutput);
            _signBrowseKeyFileCommand = new DelegateCommand(SignBrowseForKeyFile);

            Load();
        }
예제 #3
0
        public void DoAddAssembly(string filePath)
        {
            if (string.IsNullOrEmpty(filePath))
            {
                return;
            }

            if (_assemblyByFilePath.ContainsKey(filePath))
            {
                AppService.UI.ShowMessageDialog(
                    string.Format(SR.AssemblyFileDuplicate, filePath),
                    MessageDialogType.Error);

                return;
            }

            var projectAssembly = new AD.ProjectAssembly();

            projectAssembly.FilePath = filePath;
            _project.Assemblies.Add(projectAssembly);

            OnProjectChanged();

            var assembly          = _assemblyManager.LoadAssembly(filePath);
            var assemblyViewModel = new AssemblyViewModel(assembly, projectAssembly, this);

            AddAssembly(assemblyViewModel);
            _assemblyByFilePath.Add(filePath, projectAssembly);
        }
예제 #4
0
 public ProjectAssemblyViewModel(Assembly assembly, AD.ProjectAssembly projectAssembly, ProjectDetailsViewModel parent)
     : base(parent)
 {
     _assembly        = assembly;
     _projectAssembly = projectAssembly;
     _filePath        = _projectAssembly.FilePath;
     _openCommand     = new DelegateCommand(Open);
     _removeCommand   = new DelegateCommand(Remove);
 }
 internal ProjectScavengeState(ProjectAssembly assembly)
 {
     RenameMembers        = assembly.RenameMembers;
     ObfuscateControlFlow = assembly.ObfuscateControlFlow;
     EncryptIL            = assembly.EncryptIL;
     ObfuscateStrings     = assembly.ObfuscateStrings;
     RemoveUnusedMembers  = assembly.RemoveUnusedMembers;
     SealTypes            = assembly.SealTypes;
     DevirtualizeMethods  = assembly.DevirtualizeMethods;
     ObfuscateResources   = assembly.ObfuscateResources;
 }
        private void Analyze(BuildAssembly assembly, ProjectAssembly projectAssembly)
        {
            ConfigurationAnalizer.Analyze(assembly, projectAssembly.RenameConfigurationMembers);

            SerializationAnalizer.Analyze(assembly, projectAssembly.RenameSerializableMembers);

            BindableAttributeAnalizer.Analyze(assembly, projectAssembly.RenameBindableMembers);

            DependencyPropertyAnalizer.Analyze(assembly);

            CodeAnalizer.Analyze(assembly);

            BamlAnalyzer.Analyze(assembly);

            SaveState();
        }
예제 #7
0
        public ResourceFolderViewModel(Assembly assembly, AD.ProjectAssembly projectAssembly, ViewModel parent)
            : base(parent)
        {
            if (assembly == null)
            {
                throw new ArgumentNullException("assembly");
            }

            if (projectAssembly == null)
            {
                throw new ArgumentNullException("projectAssembly");
            }

            _assembly        = assembly;
            _projectAssembly = projectAssembly;

            Caption = SR.Resources;
            Image   = ImageType.Node_Resource;
        }
        public AssemblyViewModel(Assembly assembly, AD.ProjectAssembly projectAssembly, ViewModel parent)
            : base(parent)
        {
            _projectAssembly = projectAssembly;
            _assembly        = assembly;

            _isValid = IsValid();

            if (_isValid)
            {
                Caption = assembly.Name;
                Image   = ImageType.Node_Assembly;
            }
            else
            {
                Image                                                     = ImageType.Node_Assembly_Invalid;
                Caption                                                   = _assembly != null ?
                                              Caption                     = assembly.Name :
                                                                  Caption = Path.GetFileNameWithoutExtension(projectAssembly.FilePath);
            }
        }