Пример #1
0
 public static TestAssetInstance WithRepoGlobalPackages(this TestAssetInstance testAssetInstance)
 {
     return(testAssetInstance.WithProjectChanges(project =>
     {
         var ns = project.Root.Name.Namespace;
         project.Root.Element(ns + "PropertyGroup")
         .Add(new XElement(ns + "RestorePackagesPath", RepoDirectoriesProvider.TestGlobalPackagesFolder));
     }));
 }
Пример #2
0
        public static TestAssetInstance WithVersionVariables(this TestAssetInstance testAssetInstance)
        {
            var assemblyMetadata = typeof(TestAssetInstanceExtensions).Assembly
                                   .GetCustomAttributes(typeof(AssemblyMetadataAttribute))
                                   .Cast <AssemblyMetadataAttribute>()
                                   .ToDictionary(a => a.Key, a => a.Value);

            return(testAssetInstance.WithProjectChanges(project =>
            {
                var ns = project.Root.Name.Namespace;
                foreach (var valueToReplace in new[] { "MSTestVersion", "MicrosoftNETTestSdkPackageVersion" })
                {
                    var packageReferencesToUpdate =
                        project.Root.Descendants(ns + "PackageReference")
                        .Where(pr => pr.Attribute("Version").Value.Equals($"$({valueToReplace})",
                                                                          StringComparison.OrdinalIgnoreCase));
                    foreach (var packageReference in packageReferencesToUpdate)
                    {
                        packageReference.Attribute("Version").Value = assemblyMetadata[valueToReplace];
                    }
                }
            }));
        }