Exemplo n.º 1
0
        /// <exception cref="IOException"/>
        protected override Metadata GetMetadataImpl()
        {
            if (lazyMetadata == null)
            {
                Interlocked.CompareExchange(ref lazyMetadata, MetadataCache.GetOrCreateFromFile(FullPath, this.Properties.Kind), null);
            }

            return(lazyMetadata);
        }
        internal VisualStudioMetadataReferenceManager(IServiceProvider serviceProvider, ITemporaryStorageService temporaryStorageService)
        {
            _metadataCache = new MetadataCache();
            _runtimeDirectories = GetRuntimeDirectories();

            _xmlMemberIndexService = (IVsXMLMemberIndexService)serviceProvider.GetService(typeof(SVsXMLMemberIndexService));
            _smartOpenScopeService = (IVsSmartOpenScope)serviceProvider.GetService(typeof(SVsSmartOpenScope));

            _fileChangeService = (IVsFileChangeEx)serviceProvider.GetService(typeof(SVsFileChangeEx));
            _temporaryStorageService = temporaryStorageService;

            Debug.Assert(_xmlMemberIndexService != null);
            Debug.Assert(_smartOpenScopeService != null);
            Debug.Assert(_fileChangeService != null);
            Debug.Assert(temporaryStorageService != null);
        }