File: NuGetConfigWriter.cs
Web Access
Project: ..\..\..\test\Microsoft.NET.TestFramework\Microsoft.NET.TestFramework.csproj (Microsoft.NET.TestFramework)
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
 
namespace Microsoft.NET.TestFramework
{
    public static class NuGetConfigWriter
    {
        public static readonly string AspNetCoreDevFeed = "https://dotnet.myget.org/F/aspnetcore-dev/api/v3/index.json";
 
        public static void Write(string folder, params string?[] nugetSources)
        {
            Write(folder, nugetSources.ToList());
        }
        public static void Write(string folder, List<string?> nugetSources)
        {
            string configFilePath = Path.Combine(folder, "NuGet.Config");
            var root = new XElement("configuration");
 
            var packageSources = new XElement("packageSources");
            root.Add(packageSources);
 
            for (int i = 0; i < nugetSources.Count; i++)
            {
                packageSources.Add(new XElement("add",
                    new XAttribute("key", Guid.NewGuid().ToString()),
                    new XAttribute("value", nugetSources[i] ?? string.Empty)
                    ));
            }
 
            File.WriteAllText(configFilePath, root.ToString());
        }
    }
}