Esempio n. 1
0
        public void GivenTemplateLocatorItCanResolveSdkVersion()
        {
            var          environment = new TestEnvironment(_testAssetsManager);
            const string sdkVersion  = "99.99.97";

            environment.CreateSdkDirectory(ProgramFiles.X64, "Some.Test.Sdk", sdkVersion);
            environment.CreateMuxerAndAddToPath(ProgramFiles.X64);

            var resolver = new TemplateLocator.TemplateLocator(environment.GetEnvironmentVariable,
                                                               new VSSettings(environment.VSSettingsFile?.FullName, environment.DisallowPrereleaseByDefault));

            resolver.TryGetDotnetSdkVersionUsedInVs("15.8", out var version).Should().BeTrue();

            version.Should().Be(sdkVersion);
        }
Esempio n. 2
0
        public Task <IReadOnlyList <ITemplatePackage> > GetAllTemplatePackagesAsync(CancellationToken cancellationToken)
        {
            var list = new List <TemplatePackage>();
            var optionalWorkloadLocator = new TemplateLocator.TemplateLocator();
            var sdkDirectory            = Path.GetDirectoryName(typeof(DotnetFiles).Assembly.Location);
            var sdkVersion     = Path.GetFileName(sdkDirectory);
            var dotnetRootPath = Path.GetDirectoryName(Path.GetDirectoryName(sdkDirectory));

            var packages   = optionalWorkloadLocator.GetDotnetSdkTemplatePackages(sdkVersion, dotnetRootPath);
            var fileSystem = _environmentSettings.Host.FileSystem;

            foreach (var packageInfo in packages)
            {
                list.Add(new TemplatePackage(this, packageInfo.Path, fileSystem.GetLastWriteTimeUtc(packageInfo.Path)));
            }
            return(Task.FromResult <IReadOnlyList <ITemplatePackage> >(list));
        }