Exemplo n.º 1
0
        internal unsafe AssemblyName(NativeAssemblyNameParts *pParts)
            : this()
        {
            if (pParts->_pName != null)
            {
                _name = new string(pParts->_pName);
            }

            if (pParts->_pCultureName != null)
            {
                _cultureInfo = new CultureInfo(new string(pParts->_pCultureName));
            }

            if (pParts->_pPublicKeyOrToken != null)
            {
                byte[] publicKeyOrToken = new ReadOnlySpan <byte>(pParts->_pPublicKeyOrToken, pParts->_cbPublicKeyOrToken).ToArray();

                if ((pParts->_flags & AssemblyNameFlags.PublicKey) != 0)
                {
                    _publicKey = publicKeyOrToken;
                }
                else
                {
                    _publicKeyToken = publicKeyOrToken;
                }
            }

            _version = pParts->GetVersion();

            _flags = pParts->_flags;
        }
Exemplo n.º 2
0
 private static unsafe partial void InternalLoad(NativeAssemblyNameParts *pAssemblyNameParts,
                                                 ObjectHandleOnStack requestingAssembly,
                                                 StackCrawlMarkHandle stackMark,
                                                 [MarshalAs(UnmanagedType.Bool)] bool throwOnFileNotFound,
                                                 ObjectHandleOnStack assemblyLoadContext,
                                                 ObjectHandleOnStack retAssembly);
Exemplo n.º 3
0
 private static unsafe partial void CreateDynamicAssembly(ObjectHandleOnStack assemblyLoadContext,
                                                          NativeAssemblyNameParts *pAssemblyName,
                                                          AssemblyHashAlgorithm hashAlgId,
                                                          AssemblyBuilderAccess access,
                                                          ObjectHandleOnStack retAssembly);