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; }