Boo.Lang.Compiler.Steps.EmitAssembly.GetAssemblyKeyPair C# (CSharp) Метод

GetAssemblyKeyPair() приватный Метод

private GetAssemblyKeyPair ( string outputFile ) : StrongNameKeyPair
outputFile string
Результат System.Reflection.StrongNameKeyPair
        StrongNameKeyPair GetAssemblyKeyPair(string outputFile)
        {
            var attribute = GetAssemblyAttribute("System.Reflection.AssemblyKeyNameAttribute");
            if (Parameters.KeyContainer != null)
            {
                if (attribute != null)
                    Warnings.Add(CompilerWarningFactory.HaveBothKeyNameAndAttribute(attribute));
                if (Parameters.KeyContainer.Length != 0)
                    return new StrongNameKeyPair(Parameters.KeyContainer);
            }
            else if (attribute != null)
            {
                var asmName = ((StringLiteralExpression)attribute.Arguments[0]).Value;
                if (asmName.Length != 0) //ignore empty AssemblyKeyName values, like C# does
                    return new StrongNameKeyPair(asmName);
            }

            string fname = null;
            string srcFile = null;
            attribute = GetAssemblyAttribute("System.Reflection.AssemblyKeyFileAttribute");

            if (Parameters.KeyFile != null)
            {
                fname = Parameters.KeyFile;
                if (attribute != null)
                    Warnings.Add(CompilerWarningFactory.HaveBothKeyFileAndAttribute(attribute));
            }
            else if (attribute != null)
            {
                fname = ((StringLiteralExpression)attribute.Arguments[0]).Value;
                if (attribute.LexicalInfo != null)
                    srcFile = attribute.LexicalInfo.FileName;
            }

            if (!string.IsNullOrEmpty(fname))
            {
                if (!Path.IsPathRooted(fname))
                    fname = ResolveRelative(outputFile, srcFile, fname);
                using (FileStream stream = File.OpenRead(fname))
                {
                    //Parameters.DelaySign is ignored.
                    return new StrongNameKeyPair(stream);
                }
            }
            return null;
        }
EmitAssembly