Пример #1
0
        static async Task CreateAndWrite(CompositionManager.Caching caching)
        {
            var composition = await CompositionManager.CreateRuntimeCompositionFromDiscovery(caching);

            var cacheManager = new CachedComposition();

            await caching.Write(composition, cacheManager);
        }
        static async Task <RuntimeComposition> CreateAndWrite(CompositionManager.Caching caching)
        {
            var(composition, catalog) = await CompositionManager.CreateRuntimeCompositionFromDiscovery(caching);

            var cacheManager = new CachedComposition();

            await caching.Write(composition, catalog, cacheManager);

            return(composition);
        }
        public async Task ValidateRuntimeCompositionIsValid()
        {
            var mefAssemblies = CompositionManager.ReadAssembliesFromAddins();
            var caching       = new CompositionManager.Caching(mefAssemblies, file => {
                var tmpDir = Path.Combine(Util.TmpDir, "mef", nameof(ValidateRuntimeCompositionIsValid));
                if (Directory.Exists(tmpDir))
                {
                    Directory.Delete(tmpDir, true);
                }
                Directory.CreateDirectory(tmpDir);
                return(Path.Combine(tmpDir, file));
            }, exceptionHandler: new ThrowingHandler());

            var(composition, catalog) = await CompositionManager.CreateRuntimeCompositionFromDiscovery(caching);

            var cacheManager = new CachedComposition();

            await caching.Write(composition, catalog, cacheManager);
        }