Castle.DynamicProxy.ModuleScope.GetAssemblyName C# (CSharp) Method

GetAssemblyName() private method

private GetAssemblyName ( bool signStrongName ) : AssemblyName
signStrongName bool
return System.Reflection.AssemblyName
		private AssemblyName GetAssemblyName(bool signStrongName)
		{
			var assemblyName = new AssemblyName
			{
				Name = signStrongName ? strongAssemblyName : weakAssemblyName
			};

			if (signStrongName)
			{
				var keyPairStream = GetKeyPair();
				if (keyPairStream != null)
				{
#if SILVERLIGHT
					// we can only set the public key.. but for our needs it appears to be working (workaround found by Jeff Nevins, see issue 161 for DP in the issue tracker for more details)
					var startIndex = InternalsVisible.ToDynamicProxyGenAssembly2.IndexOf("PublicKey=") + "PublicKey=".Length;
					var publicKeyBytes = new List<byte>(160);
					for (var i = startIndex; i < InternalsVisible.ToDynamicProxyGenAssembly2.Length; i += 2)
					{
						publicKeyBytes.Add(byte.Parse(InternalsVisible.ToDynamicProxyGenAssembly2.Substring(i, 2), NumberStyles.HexNumber));
						
					}
					assemblyName.SetPublicKey(publicKeyBytes.ToArray());
#else
					var keyPair = new StrongNameKeyPair(keyPairStream);
					assemblyName.KeyPair = keyPair;

#endif
				}
			}
			return assemblyName;
		}