示例#1
0
        public ComReader(string assemblyPath)
        {
            IMetaDataDispenserEx dispenser = new MetaDataDispenserEx();
            object rawScope;
            //GUID of the IMetaDataImport interface.
            var metaDataImportGuid = new Guid("7DAC8207-D3AE-4c75-9B67-92801A497D44");

            //Open the assembly.
            dispenser.OpenScope(assemblyPath, 0, ref metaDataImportGuid, out rawScope);
            //The rawScope contains an IMetaDataImport interface.
            _import = (IMetaDataImport)rawScope;
        }
示例#2
0
        public ComReader(string assemblyPath)
        {
            IMetaDataDispenserEx dispenser = new MetaDataDispenserEx();
            object rawScope;
            //GUID of the IMetaDataImport interface.
            var metaDataImportGuid = new Guid("7DAC8207-D3AE-4c75-9B67-92801A497D44");

            //Open the assembly.
            dispenser.OpenScope(assemblyPath, 0, ref metaDataImportGuid, out rawScope);
            //The rawScope contains an IMetaDataImport interface.
            _import = (IMetaDataImport)rawScope;
        }
        private void InitializeMetadataInterface(string winmdFilePath)
        {
            var dispenser = new MetaDataDispenserEx();

            // GUID of the IMetaDataImport interface.
            var metaDataImportGuid = new Guid(Guids.IMetaDataImport);

            // Open the assembly.
            object rawScope = null;
            var hresult = dispenser.OpenScope(winmdFilePath, 0, ref metaDataImportGuid, ref rawScope);
            if (hresult != 0)
            {
                Marshal.ThrowExceptionForHR(hresult);
            }

            // The rawScope contains an IMetaDataImport interface.
            this.import = (IMetaDataImport)rawScope;
        }