/// <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); }
/// <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); }
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); } } }
public PublisherPolicy() { this._nameDetails = new AssemblyNameDetails(); }
/// <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); }