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


C# AssemblyName.SetPublicKeyToken方法代码示例

本文整理汇总了C#中AssemblyName.SetPublicKeyToken方法的典型用法代码示例。如果您正苦于以下问题:C# AssemblyName.SetPublicKeyToken方法的具体用法?C# AssemblyName.SetPublicKeyToken怎么用?C# AssemblyName.SetPublicKeyToken使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在AssemblyName的用法示例。


在下文中一共展示了AssemblyName.SetPublicKeyToken方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: 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

示例2: 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

示例3: __GetReferencedAssemblies

 public override AssemblyName[] __GetReferencedAssemblies()
 {
     List<AssemblyName> list = new List<AssemblyName>();
     for (int i = 0; i < AssemblyRef.records.Length; i++)
     {
         AssemblyName name = new AssemblyName();
         name.Name = GetString(AssemblyRef.records[i].Name);
         name.Version = new Version(
             AssemblyRef.records[i].MajorVersion,
             AssemblyRef.records[i].MinorVersion,
             AssemblyRef.records[i].BuildNumber,
             AssemblyRef.records[i].RevisionNumber);
         if (AssemblyRef.records[i].PublicKeyOrToken != 0)
         {
             byte[] keyOrToken = GetBlobCopy(AssemblyRef.records[i].PublicKeyOrToken);
             const int PublicKey = 0x0001;
             if ((AssemblyRef.records[i].Flags & PublicKey) != 0)
             {
                 name.SetPublicKey(keyOrToken);
             }
             else
             {
                 name.SetPublicKeyToken(keyOrToken);
             }
         }
         else
         {
             name.SetPublicKeyToken(Empty<byte>.Array);
         }
         if (AssemblyRef.records[i].Culture != 0)
         {
             name.Culture = GetString(AssemblyRef.records[i].Culture);
         }
         else
         {
             name.Culture = "";
         }
         if (AssemblyRef.records[i].HashValue != 0)
         {
             name.hash = GetBlobCopy(AssemblyRef.records[i].HashValue);
         }
         name.RawFlags = (AssemblyNameFlags)AssemblyRef.records[i].Flags;
         list.Add(name);
     }
     return list.ToArray();
 }
开发者ID:kenasogoo,项目名称:ikvm-fork,代码行数:46,代码来源:ModuleReader.cs

示例4: 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

示例5: __GetReferencedAssemblies

		public override AssemblyName[] __GetReferencedAssemblies()
		{
			List<AssemblyName> list = new List<AssemblyName>();
			for (int i = 0; i < AssemblyRef.records.Length; i++)
			{
				AssemblyName name = new AssemblyName();
				name.Name = GetString(AssemblyRef.records[i].Name);
				name.Version = new Version(
					AssemblyRef.records[i].MajorVersion,
					AssemblyRef.records[i].MinorVersion,
					AssemblyRef.records[i].BuildNumber,
					AssemblyRef.records[i].RevisionNumber);
				if (AssemblyRef.records[i].PublicKeyOrToken != 0)
				{
					byte[] keyOrToken = GetBlobCopy(AssemblyRef.records[i].PublicKeyOrToken);
					const int PublicKey = 0x0001;
					if ((AssemblyRef.records[i].Flags & PublicKey) != 0)
					{
						name.SetPublicKey(keyOrToken);
					}
					else
					{
						name.SetPublicKeyToken(keyOrToken);
					}
				}
				if (AssemblyRef.records[i].Culture != 0)
				{
					name.CultureInfo = new System.Globalization.CultureInfo(GetString(AssemblyRef.records[i].Culture));
				}
				else
				{
					name.CultureInfo = System.Globalization.CultureInfo.InvariantCulture;
				}
				name.Flags = (AssemblyNameFlags)AssemblyRef.records[i].Flags;
				list.Add(name);
			}
			return list.ToArray();
		}
开发者ID:koush,项目名称:mono,代码行数:38,代码来源:ModuleReader.cs

示例6: initclr

    public static void initclr()
#endif
    {
#if DEBUG
        Console.WriteLine("Attempting to load Python.Runtime using standard binding rules... ");
#endif
#if USE_PYTHON_RUNTIME_PUBLIC_KEY_TOKEN
        var pythonRuntimePublicKeyTokenData = new byte[] { 0x50, 0x00, 0xfe, 0xa6, 0xcb, 0xa7, 0x02, 0xdd };
#endif

        // Attempt to find and load Python.Runtime using standard assembly binding rules.
        // This roughly translates into looking in order:
        // - GAC
        // - ApplicationBase
        // - A PrivateBinPath under ApplicationBase
        // With an unsigned assembly, the GAC is skipped.
        var pythonRuntimeName = new AssemblyName("Python.Runtime")
        {
#if USE_PYTHON_RUNTIME_VERSION
            Version = new Version("4.0.0.1"),
#endif
            CultureInfo = CultureInfo.InvariantCulture
        };
#if USE_PYTHON_RUNTIME_PUBLIC_KEY_TOKEN
        pythonRuntimeName.SetPublicKeyToken(pythonRuntimePublicKeyTokenData);
#endif
        // We've got the AssemblyName with optional features; try to load it.
        Assembly pythonRuntime;
        try
        {
            pythonRuntime = Assembly.Load(pythonRuntimeName);
#if DEBUG
            Console.WriteLine("Success!");
#endif
        }
        catch (IOException)
        {
            try
            {
                // If the above fails for any reason, we fallback to attempting to load "Python.Runtime.dll"
                // from the directory this assembly is running in. "This assembly" is probably "clr.pyd",
                // sitting somewhere in PYTHONPATH.  This is using Assembly.LoadFrom, and inherits all the
                // caveats of that call.  See MSDN docs for details.
                // Suzanne Cook's blog is also an excellent source of info on this:
                // http://blogs.msdn.com/suzcook/
                // http://blogs.msdn.com/suzcook/archive/2003/05/29/57143.aspx
                // http://blogs.msdn.com/suzcook/archive/2003/06/13/57180.aspx

                Assembly executingAssembly = Assembly.GetExecutingAssembly();
                string assemblyDirectory = Path.GetDirectoryName(executingAssembly.Location);
                if (assemblyDirectory == null)
                {
                    throw new InvalidOperationException(executingAssembly.Location);
                }
                string pythonRuntimeDllPath = Path.Combine(assemblyDirectory, "Python.Runtime.dll");
#if DEBUG
                Console.WriteLine("Attempting to load Python.Runtime from: '{0}'...", pythonRuntimeDllPath);
#endif
                pythonRuntime = Assembly.LoadFrom(pythonRuntimeDllPath);
            }
            catch (InvalidOperationException)
            {
#if DEBUG
                Console.WriteLine("Could not load Python.Runtime");
#endif
#if PYTHON3
                return IntPtr.Zero;
#elif PYTHON2
                return;
#endif
            }
        }

        // Once here, we've successfully loaded SOME version of Python.Runtime
        // So now we get the PythonEngine and execute the InitExt method on it.
        Type pythonEngineType = pythonRuntime.GetType("Python.Runtime.PythonEngine");

#if PYTHON3
        return (IntPtr)pythonEngineType.InvokeMember("InitExt", BindingFlags.InvokeMethod, null, null, null);
#elif PYTHON2
        pythonEngineType.InvokeMember("InitExt", BindingFlags.InvokeMethod, null, null, null);
#endif
    }
开发者ID:pythonnet,项目名称:pythonnet,代码行数:83,代码来源:ClrModule.cs


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