本文整理汇总了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;
}
示例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;
}
示例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();
}
示例4: SetPublicKeyToken_GetPublicKeyToken
public void SetPublicKeyToken_GetPublicKeyToken(byte[] publicKeyToken)
{
AssemblyName assemblyName = new AssemblyName();
assemblyName.SetPublicKeyToken(publicKeyToken);
Assert.Equal(publicKeyToken, assemblyName.GetPublicKeyToken());
}
示例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();
}
示例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
}