OLD | NEW |
| (Empty) |
1 /// Copyright (c) Microsoft Corporation. All rights reserved. | |
2 | |
3 using System.Diagnostics.CodeAnalysis; | |
4 using System.Reflection; | |
5 using System.Runtime.InteropServices; | |
6 using System.Text; | |
7 using VSLangProj; | |
8 | |
9 namespace Microsoft.VisualStudio.Project.Automation | |
10 { | |
11 [SuppressMessage("Microsoft.Interoperability", "CA1405:ComVisibleTypeBas
eTypesShouldBeComVisible")] | |
12 [ComVisible(true)] | |
13 public class OAAssemblyReference : OAReferenceBase<AssemblyReferenceNode
> | |
14 { | |
15 public OAAssemblyReference(AssemblyReferenceNode assemblyReferen
ce) : | |
16 base(assemblyReference) | |
17 { | |
18 } | |
19 | |
20 #region Reference override | |
21 public override int BuildNumber | |
22 { | |
23 get | |
24 { | |
25 if((null == BaseReferenceNode.ResolvedAssembly)
|| | |
26 (null == BaseReferenceNode.ResolvedAssem
bly.Version)) | |
27 { | |
28 return 0; | |
29 } | |
30 return BaseReferenceNode.ResolvedAssembly.Versio
n.Build; | |
31 } | |
32 } | |
33 public override string Culture | |
34 { | |
35 get | |
36 { | |
37 if((null == BaseReferenceNode.ResolvedAssembly)
|| | |
38 (null == BaseReferenceNode.ResolvedAssem
bly.CultureInfo)) | |
39 { | |
40 return string.Empty; | |
41 } | |
42 return BaseReferenceNode.ResolvedAssembly.Cultur
eInfo.Name; | |
43 } | |
44 } | |
45 public override string Identity | |
46 { | |
47 get | |
48 { | |
49 // Note that in this function we use the assembl
y name instead of the resolved one | |
50 // because the identity of this reference is the
assembly name needed by the project, | |
51 // not the specific instance found in this machi
ne / environment. | |
52 if(null == BaseReferenceNode.AssemblyName) | |
53 { | |
54 return null; | |
55 } | |
56 return BaseReferenceNode.AssemblyName.FullName; | |
57 } | |
58 } | |
59 public override int MajorVersion | |
60 { | |
61 get | |
62 { | |
63 if((null == BaseReferenceNode.ResolvedAssembly)
|| | |
64 (null == BaseReferenceNode.ResolvedAssem
bly.Version)) | |
65 { | |
66 return 0; | |
67 } | |
68 return BaseReferenceNode.ResolvedAssembly.Versio
n.Major; | |
69 } | |
70 } | |
71 public override int MinorVersion | |
72 { | |
73 get | |
74 { | |
75 if((null == BaseReferenceNode.ResolvedAssembly)
|| | |
76 (null == BaseReferenceNode.ResolvedAssem
bly.Version)) | |
77 { | |
78 return 0; | |
79 } | |
80 return BaseReferenceNode.ResolvedAssembly.Versio
n.Minor; | |
81 } | |
82 } | |
83 | |
84 public override string PublicKeyToken | |
85 { | |
86 get | |
87 { | |
88 if((null == BaseReferenceNode.ResolvedAssembly)
|| | |
89 (null == BaseReferenceNode.ResolvedAssembly.GetP
ublicKeyToken())) | |
90 { | |
91 return null; | |
92 } | |
93 StringBuilder builder = new StringBuilder(); | |
94 byte[] publicKeyToken = BaseReferenceNode.Resolv
edAssembly.GetPublicKeyToken(); | |
95 for(int i = 0; i < publicKeyToken.Length; i++) | |
96 { | |
97 builder.AppendFormat("{0:x}", publicKeyT
oken[i]); | |
98 } | |
99 return builder.ToString(); | |
100 } | |
101 } | |
102 | |
103 public override string Name | |
104 { | |
105 get | |
106 { | |
107 if(null != BaseReferenceNode.ResolvedAssembly) | |
108 { | |
109 return BaseReferenceNode.ResolvedAssembl
y.Name; | |
110 } | |
111 if(null != BaseReferenceNode.AssemblyName) | |
112 { | |
113 return BaseReferenceNode.AssemblyName.Na
me; | |
114 } | |
115 return null; | |
116 } | |
117 } | |
118 public override int RevisionNumber | |
119 { | |
120 get | |
121 { | |
122 if((null == BaseReferenceNode.ResolvedAssembly)
|| | |
123 (null == BaseReferenceNode.ResolvedAssem
bly.Version)) | |
124 { | |
125 return 0; | |
126 } | |
127 return BaseReferenceNode.ResolvedAssembly.Versio
n.Revision; | |
128 } | |
129 } | |
130 public override bool StrongName | |
131 { | |
132 get | |
133 { | |
134 if((null == BaseReferenceNode.ResolvedAssembly)
|| | |
135 (0 == (BaseReferenceNode.ResolvedAssembl
y.Flags & AssemblyNameFlags.PublicKey))) | |
136 { | |
137 return false; | |
138 } | |
139 return true; | |
140 } | |
141 } | |
142 public override prjReferenceType Type | |
143 { | |
144 get | |
145 { | |
146 return prjReferenceType.prjReferenceTypeAssembly
; | |
147 } | |
148 } | |
149 public override string Version | |
150 { | |
151 get | |
152 { | |
153 if((null == BaseReferenceNode.ResolvedAssembly)
|| | |
154 (null == BaseReferenceNode.ResolvedAssem
bly.Version)) | |
155 { | |
156 return string.Empty; | |
157 } | |
158 return BaseReferenceNode.ResolvedAssembly.Versio
n.ToString(); | |
159 } | |
160 } | |
161 #endregion | |
162 } | |
163 } | |
OLD | NEW |