本文整理汇总了C#中AssemblyName.GetPublicKeyToken方法的典型用法代码示例。如果您正苦于以下问题:C# AssemblyName.GetPublicKeyToken方法的具体用法?C# AssemblyName.GetPublicKeyToken怎么用?C# AssemblyName.GetPublicKeyToken使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AssemblyName
的用法示例。
在下文中一共展示了AssemblyName.GetPublicKeyToken方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Main
public static int Main()
{
try
{
AssemblyName an = new AssemblyName("noname,PublicKeyToken=null");
int expected = 0;
if (an.GetPublicKeyToken() == null)
{
Console.WriteLine("!!!ERROR-001: Public key token unexpectedly null. Expected length: " + expected.ToString());
Console.WriteLine("FAIL");
return 98;
}
if (an.GetPublicKeyToken().Length != expected)
{
Console.WriteLine("!!!ERROR-002: Public key token length not as expected. Expected: " + expected.ToString() + ", Actual: " + an.GetPublicKeyToken().Length.ToString());
Console.WriteLine("FAIL");
return 99;
}
}
catch (Exception e)
{
Console.WriteLine("!!!ERROR-XXX: Unexpected exception : " + e);
Console.WriteLine("FAIL");
return 101;
}
Console.WriteLine("Pass");
return 100;
}
示例2: PosTest1
public bool PosTest1()
{
TestLibrary.TestFramework.BeginScenario("PosTest1: get default PublicKeyToken");
bool retVal = true;
try
{
AssemblyName an = new AssemblyName();
byte[] key = an.GetPublicKeyToken();
if (key != null)
{
TestLibrary.TestFramework.LogError("001.1", "expect (new AssemblyName()).GetPublicKeyToken() == null");
retVal = false;
}
}
catch (Exception e)
{
TestLibrary.TestFramework.LogError("001.2", "Unexpected exception: " + e);
retVal = false;
}
return retVal;
}
示例3: PosTest2
public bool PosTest2()
{
TestLibrary.TestFramework.BeginScenario("PosTest2: set a 0 length key then get and verify");
bool retVal = true;
try
{
byte[] key = new byte[0];
AssemblyName an = new AssemblyName();
an.SetPublicKeyToken(key);
if (an.GetPublicKeyToken() != key)
{
TestLibrary.TestFramework.LogError("002.1", "expect AssemblyName.GetPublicKeyToken() equals what it's been set");
retVal = false;
}
}
catch (Exception e)
{
TestLibrary.TestFramework.LogError("002.2", "Unexpected exception: " + e);
retVal = false;
}
return retVal;
}
示例4: PosTest1
public bool PosTest1()
{
TestLibrary.TestFramework.BeginScenario("PosTest1: set then get and verify");
bool retVal = true;
try
{
byte[] key = new byte[TestLibrary.Generator.GetInt32(-55) % 255];
TestLibrary.Generator.GetBytes(-55, key);
AssemblyName an = new AssemblyName();
an.SetPublicKeyToken(key);
if (an.GetPublicKeyToken() != key)
{
TestLibrary.TestFramework.LogError("001.1", "expect AssemblyName.GetPublicKeyToken() equals what it's been set");
retVal = false;
}
}
catch (Exception e)
{
TestLibrary.TestFramework.LogError("001.2", "Unexpected exception: " + e);
retVal = false;
}
return retVal;
}
示例5: SetPublicKeyToken_GetPublicKeyToken
public void SetPublicKeyToken_GetPublicKeyToken(byte[] publicKeyToken)
{
AssemblyName assemblyName = new AssemblyName();
assemblyName.SetPublicKeyToken(publicKeyToken);
Assert.Equal(publicKeyToken, assemblyName.GetPublicKeyToken());
}
示例6: MatchNameAndPublicKeyToken
internal static bool MatchNameAndPublicKeyToken(AssemblyName name1, AssemblyName name2)
{
return name1.Name.Equals(name2.Name, StringComparison.InvariantCultureIgnoreCase)
&& CompareKeys(name1.GetPublicKeyToken(), name2.GetPublicKeyToken());
}
示例7: PrintAssemblyName
void PrintAssemblyName(Assembly asm, AssemblyName asmName, bool IsExtern)
{
if (asmName == null) throw new ArgumentNullException(nameof(asmName));
if (IsExtern)
sw.WriteLine(".assembly extern " + asmName.Name);
else sw.WriteLine(".assembly " + asmName.Name);
sw.WriteLine("{");
// we don't care the referenced assembly version here in order to make the program stronger
sw.WriteLine(".ver |");
sw.WriteLine(".hash " + asmName.HashAlgorithm);
sw.WriteLine(".culture " + ((asmName.CultureInfo != null) ? "NULL" : asmName.CultureInfo.ToString())); // for null we just print nothing
sw.WriteLine(".versionCompatibility " + asmName.VersionCompatibility);
if (asmName.KeyPair != null)
sw.WriteLine(".keypair " + BytesToString(asmName.KeyPair.PublicKey));
sw.WriteLine(".publickey " + BytesToString(asmName.GetPublicKey()));
if (asmName.GetPublicKeyToken() != null)
sw.WriteLine(".publickeytoken " + BytesToString(asmName.GetPublicKeyToken()));
// print out assembly name flags
string s = null;
// add back in orcas
/*if ((asmName.Flags & AssemblyNameFlags.Library) != 0)
s = "Library";
else if ((asmName.Flags & AssemblyNameFlags.AppDomainPlatform) != 0)
s = "AppDomainPlatform";
else if ((asmName.Flags & AssemblyNameFlags.ProcessPlatform) != 0)
s = "ProcessPlatform";
else if ((asmName.Flags & AssemblyNameFlags.SystemPlatform) != 0)
s = "SystemPlatform";*/
sw.WriteLine(".flags " + s);
if (!IsExtern)
{
PrintCustomAttributes(CustomAttributeData.GetCustomAttributes(asm));
}
sw.WriteLine("} // end of assembly");
// We don't care codebase
}
示例8: AssemblyNameMatches
//
// Encapsulates the assembly ref->def matching policy.
//
private bool AssemblyNameMatches(AssemblyName refName, AssemblyName defName)
{
//
// The defName came from trusted metadata so it should be fully specified.
//
Debug.Assert(defName.Version != null);
Debug.Assert(defName.CultureName != null);
// At least one real-world app calls Type.GetType() for "char" using the assembly name "mscorlib". To accomodate this,
// we will adopt the desktop CLR rule that anything named "mscorlib" automatically binds to the core assembly.
if (refName.Name == "mscorlib")
{
AssemblyName coreAssemblyName = new AssemblyName(ReflectionExecution.DefaultAssemblyNameForGetType);
if (defName.Name != coreAssemblyName.Name)
return false;
byte[] defPkt = defName.GetPublicKeyToken();
if (defPkt == null)
return false;
if (!ArePktsEqual(defPkt, coreAssemblyName.GetPublicKeyToken()))
return false;
return true;
}
if (!(refName.Name.Equals(defName.Name, StringComparison.OrdinalIgnoreCase)))
return false;
if (refName.Version != null)
{
int compareResult = refName.Version.CompareTo(defName.Version);
if (compareResult > 0)
return false;
}
if (refName.CultureName != null)
{
if (!(refName.CultureName.Equals(defName.CultureName)))
return false;
}
// Bartok cannot handle const enums for now.
/*const*/
AssemblyNameFlags ignorableFlags = AssemblyNameFlags.PublicKey;
if ((refName.Flags & ~ignorableFlags) != (defName.Flags & ~ignorableFlags))
{
return false;
}
byte[] refPublicKeyToken = refName.GetPublicKeyToken();
if (refPublicKeyToken != null)
{
byte[] defPublicKeyToken = defName.GetPublicKeyToken();
if (defPublicKeyToken == null)
return false;
if (!ArePktsEqual(refPublicKeyToken, defPublicKeyToken))
return false;
}
return true;
}
示例9: Main
public static int Main()
{
bool bFail = false;
//int result = 0;
try
{
//Assembly assm1, assm2;
AssemblyName asmName1 = new AssemblyName ();
asmName1.Name = "server1";
AssemblyName asmName2 = new AssemblyName("server1");
Console.WriteLine (asmName1);
Console.WriteLine (asmName2);
if (asmName1==asmName2)
{
Console.WriteLine ("test will fail: asmName1==asmName2");
bFail = true;
}
Console.WriteLine (asmName1.ToString());
Console.WriteLine (asmName2.ToString());
if (asmName1.ToString()!=asmName2.ToString())
{
Console.WriteLine ("test will fail: asmName1.ToString()!=asmName2.ToString()");
bFail = true;
}
Console.WriteLine ("PublicKeyToken = " + asmName1.GetPublicKeyToken());
Console.WriteLine ("PublicKeyToken = " + asmName2.GetPublicKeyToken());
if (asmName1.GetPublicKeyToken()!=asmName2.GetPublicKeyToken())
{
Console.WriteLine ("test will fail: asmName1.ToString()!=asmName2.ToString()");
bFail = true;
}
Console.WriteLine ("version = " + asmName1.Version);
Console.WriteLine ("version = " + asmName2.Version);
if (asmName1.Version!=asmName2.Version)
{
Console.WriteLine ("test will fail: asmName1.Version!=asmName2.Version");
bFail = true;
}
/*
if (asmName1.Version!="0.0.0.0")
{
Console.WriteLine ("test will fail: asmName1.Version.ToString()!=\"0.0.0.0\"");
bFail = true;
}
*/
Console.WriteLine ("******");
//Console.WriteLine (asmName2.GetPublicKeyToken().ToString());
//Console.WriteLine (asmName2.GetPublicKeyToken());
Console.WriteLine ("bFail = {0}", bFail);
if (bFail == true)
{
Console.WriteLine ("test failed");
return 101;
}
}
catch (Exception e)
{
Console.WriteLine ("unexpected exception");
Console.WriteLine (e);
Console.WriteLine ("test failed");
return 101;
}
Console.WriteLine ("test passed");
return 100;
}