コード例 #1
0
        public void HighestVersionSelectedIfNoVersionMatch()
        {
            var toolsetV14 = new MsbuildToolSet("14.0", "v14path");
            var toolsetV12 = new MsbuildToolSet("12.0", "v12path");
            var toolsetV4  = new MsbuildToolSet("4.0", "v4path");

            var installedToolsets = new List <MsbuildToolSet> {
                toolsetV14, toolsetV12, toolsetV4
            };

            var selectedToolset = MsBuildUtility.SelectMsbuildToolset(
                msbuildVersion: new System.Version("5.6"),
                installedToolsets: installedToolsets);

            Assert.Equal(selectedToolset, toolsetV14);
        }
コード例 #2
0
        public void VersionSelectedThatMatchesMSBuildVersionMajor()
        {
            var toolsetV14 = new MsbuildToolSet("14.0", "v14path");
            var toolsetV12 = new MsbuildToolSet("12.0", "v12path");
            var toolsetV4  = new MsbuildToolSet("4.0", "v4path");

            var installedToolsets = new List <MsbuildToolSet> {
                toolsetV14, toolsetV12, toolsetV4
            };

            var selectedToolset = MsBuildUtility.SelectMsbuildToolset(
                msbuildVersion: new Version("4.6"),
                installedToolsets: installedToolsets);

            Assert.Equal(selectedToolset, toolsetV4);
        }
コード例 #3
0
        public void TestVersionMatchByNumber()
        {
            var toolsetV14 = new MsbuildToolSet("14.0", "v14path");
            var toolsetV12 = new MsbuildToolSet("12.0", "v12path");
            var toolsetV4  = new MsbuildToolSet("4.0", "v4path");

            var installedToolsets = new List <MsbuildToolSet> {
                toolsetV14, toolsetV12, toolsetV4
            };

            // Act
            var directory = MsBuildUtility.GetMsbuildDirectoryInternal(
                userVersion: "12",
                console: null,
                installedToolsets: installedToolsets);

            // Assert
            Assert.Equal(directory, toolsetV12.ToolsPath);
        }
コード例 #4
0
        public void TestVersionMatchByString(string userVersion, string expectedDirectory)
        {
            // Arrange
            var toolsetV14  = new MsbuildToolSet("14.0", "v14path");
            var toolsetV12  = new MsbuildToolSet("12.0", "v12path");
            var toolsetFoo4 = new MsbuildToolSet("Foo4.0", "foo4path");

            var installedToolsets = new List <MsbuildToolSet> {
                toolsetV14, toolsetV12, toolsetFoo4
            };

            // Act
            var directory = MsBuildUtility.GetMsbuildDirectoryInternal(
                userVersion: userVersion,
                console: null,
                installedToolsets: installedToolsets);

            // Assert
            Assert.Equal(directory, expectedDirectory);
        }
コード例 #5
0
        public void TestVersionMatchByStringFailure(string userVersion)
        {
            var toolsetV14  = new MsbuildToolSet("14.0", "v14path");
            var toolsetV12  = new MsbuildToolSet("12.0", "v12path");
            var toolsetFoo4 = new MsbuildToolSet("Foo4.0", "foo4path");

            var installedToolsets = new List <MsbuildToolSet> {
                toolsetV14, toolsetV12, toolsetFoo4
            };

            // Act
            var ex = Assert.Throws <CommandLineException>(() =>
            {
                var directory = MsBuildUtility.GetMsbuildDirectoryInternal(
                    userVersion: userVersion,
                    console: null,
                    installedToolsets: installedToolsets);
            });

            // Assert
            Assert.Equal(
                $"Cannot find the specified version of msbuild: '{userVersion}'",
                ex.Message);
        }