main
cs 60 lines 1.87 KB
Raw
1 // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3 namespace WixToolset.Core.WindowsInstaller.Bind
4 {
5 using System;
6 using System.Text;
7
8 internal class AssemblyName
9 {
10 public AssemblyName(string name, string culture, string version, string fileVersion, string architecture, string publicKeyToken, string type)
11 {
12 this.Name = name;
13 this.Culture = culture ?? "neutral";
14 this.Version = version;
15 this.FileVersion = fileVersion;
16 this.Architecture = architecture;
17
18 this.StrongNamedSigned = !String.IsNullOrEmpty(publicKeyToken);
19 this.PublicKeyToken = publicKeyToken;
20 this.Type = type;
21 }
22
23 public string Name { get; }
24
25 public string Culture { get; }
26
27 public string Version { get; }
28
29 public string FileVersion { get; }
30
31 public string Architecture { get; }
32
33 public string PublicKeyToken { get; }
34
35 public bool StrongNamedSigned { get; }
36
37 public string Type { get; }
38
39 public string GetFullName()
40 {
41 var assemblyName = new StringBuilder();
42
43 assemblyName.Append(this.Name);
44 assemblyName.Append(", Version=");
45 assemblyName.Append(this.Version);
46 assemblyName.Append(", Culture=");
47 assemblyName.Append(this.Culture);
48 assemblyName.Append(", PublicKeyToken=");
49 assemblyName.Append(this.PublicKeyToken ?? "null");
50
51 if (!String.IsNullOrEmpty(this.Architecture))
52 {
53 assemblyName.Append(", ProcessorArchitecture=");
54 assemblyName.Append(this.Architecture);
55 }
56
57 return assemblyName.ToString();
58 }
59 }
60 }