示例#1
0
 /// <summary>
 /// Inject properties to build a new policy
 /// </summary>
 /// <param name="name">Assembly name</param>
 /// <param name="publicKeyToken">Public key token</param>
 /// <param name="version">Assembly version</param>
 public PublisherPolicy(string name, string publicKeyToken, string version)
 {
     this._nameDetails                = new AssemblyNameDetails();
     this._nameDetails.Name           = name;
     this._nameDetails.PublicKeyToken = publicKeyToken;
     this._nameDetails.Version        = new Version(version);
 }
示例#2
0
        /// <summary>
        /// Loads assembly identification information
        /// </summary>
        /// <param name="ass">Assembly full path name</param>
        /// <returns>Name details and version</returns>
        protected AssemblyNameDetails GetKey(string ass)
        {
            AssemblyNameDetails dtls = new AssemblyNameDetails();

            AssemblyName nm = Assembly.LoadFrom(ass).GetName();

            byte[] keyToken = nm.GetPublicKeyToken();
            dtls.Name           = nm.Name;
            dtls.PublicKeyToken = this.KeyToString(keyToken);
            dtls.Version        = nm.Version;

            return(dtls);
        }
示例#3
0
        private void btnCreate_Click(object sender, EventArgs e)
        {
            if (this.policyGen == null)
            {
                this.policyGen = new PublisherPolicy();
            }
            AssemblyNameDetails dtls = new AssemblyNameDetails();

            dtls.Name           = txtName.Text;
            dtls.PublicKeyToken = txtPublicKeyToken.Text;

            dtls.Version        = this.StartVersion();
            this.policyGen.Name = dtls;

            FolderBrowserDialog fDiag = new FolderBrowserDialog();

            fDiag.Description = "Select a directory to save your policy files to.";

            bool          cancel  = false;
            DirectoryInfo dirSave = null;

            do
            {
                if (fDiag.ShowDialog() != DialogResult.OK)
                {
                    cancel = true;
                    break;
                }
                dirSave = new DirectoryInfo(fDiag.SelectedPath);
            } while (!dirSave.Exists);

            if (!cancel)
            {
                try
                {
                    if (this.policyGen.SaveFile(dirSave, txtVersionOld.Text.Trim(), txtVersionNew.Text.Trim()))
                    {
                        this.ShowMessage("Policy files created.", null, MessageBoxIcon.Information);
                    }
                }
                catch (Exception ex)
                {
                    this.ShowMessage("Unable to create policy files.", ex, MessageBoxIcon.Error);
                }
            }
        }
示例#4
0
 public PublisherPolicy()
 {
     this._nameDetails = new AssemblyNameDetails();
 }
示例#5
0
 /// <summary>
 /// Create object based on existing assembly information
 /// </summary>
 /// <param name="assemblyPath">Name of assembly to load</param>
 public PublisherPolicy(string assemblyPath)
 {
     this._nameDetails = this.GetKey(assemblyPath);
 }