当前位置: 首页>>代码示例>>C#>>正文


C# AssemblyName.GetPublicKeyToken方法代码示例

本文整理汇总了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;
    }
开发者ID:l1183479157,项目名称:coreclr,代码行数:30,代码来源:test0792.cs

示例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;
 }
开发者ID:CheneyWu,项目名称:coreclr,代码行数:21,代码来源:assemblynamegetpublickeytoken.cs

示例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;
    }
开发者ID:CheneyWu,项目名称:coreclr,代码行数:24,代码来源:assemblynamesetpublickeytoken.cs

示例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;
    }
开发者ID:CheneyWu,项目名称:coreclr,代码行数:24,代码来源:assemblynamesetpublickeytoken.cs

示例5: SetPublicKeyToken_GetPublicKeyToken

 public void SetPublicKeyToken_GetPublicKeyToken(byte[] publicKeyToken)
 {
     AssemblyName assemblyName = new AssemblyName();
     assemblyName.SetPublicKeyToken(publicKeyToken);
     Assert.Equal(publicKeyToken, assemblyName.GetPublicKeyToken());
 }
开发者ID:dotnet,项目名称:corefx,代码行数:6,代码来源:AssemblyNameTests.cs

示例6: MatchNameAndPublicKeyToken

 internal static bool MatchNameAndPublicKeyToken(AssemblyName name1, AssemblyName name2)
 {
     return name1.Name.Equals(name2.Name, StringComparison.InvariantCultureIgnoreCase)
         && CompareKeys(name1.GetPublicKeyToken(), name2.GetPublicKeyToken());
 }
开发者ID:LogosBible,项目名称:ikvm-fork,代码行数:5,代码来源:ReflectUtil.cs

示例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
    }
开发者ID:dbremner,项目名称:clrinterop,代码行数:38,代码来源:AssemPrinter.cs

示例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;
        }
开发者ID:noahfalk,项目名称:corert,代码行数:62,代码来源:AssemblyBinderImplementation.cs

示例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;
	}
开发者ID:l1183479157,项目名称:coreclr,代码行数:83,代码来源:properties.cs


注:本文中的AssemblyName.GetPublicKeyToken方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。