public void SettingVersionSuffixFlag_ShouldStampAssemblyInfoInOutputAssemblyAndPackage() { var testInstance = _testAssetsManager.CopyTestAsset("TestLibraryWithConfiguration") .WithSource(); new DotnetPackCommand(Log) .WithWorkingDirectory(testInstance.Path) .Execute("--version-suffix", "85", "-c", "Debug") .Should().Pass(); var output = new FileInfo(Path.Combine(testInstance.Path, "bin", "Debug", "netstandard1.5", "TestLibraryWithConfiguration.dll")); var informationalVersion = PeReaderUtils.GetAssemblyAttributeValue(output.FullName, "AssemblyInformationalVersionAttribute"); informationalVersion.Should().NotBeNull() .And.BeEquivalentTo("1.0.0-85"); var outputPackage = new FileInfo(Path.Combine(testInstance.Path, "bin", "Debug", "TestLibraryWithConfiguration.1.0.0-85.nupkg")); outputPackage.Should().Exist(); }
public void MultipleFrameworks_ShouldHaveValidTargetFrameworkAttribute(string frameworkName, bool shouldHaveTargetFrameworkAttribute, bool windowsOnly) { var framework = NuGetFramework.Parse(frameworkName); var testInstance = TestAssetsManager.CreateTestInstance("TestLibraryWithMultipleFrameworks") .WithLockFiles(); var cmd = new BuildCommand(Path.Combine(testInstance.TestRoot, Project.FileName), framework: framework.GetShortFolderName()); if (windowsOnly && !RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) { // on non-windows platforms, desktop frameworks will not build cmd.ExecuteWithCapturedOutput().Should().Fail(); } else { cmd.ExecuteWithCapturedOutput().Should().Pass(); var output = Path.Combine(testInstance.TestRoot, "bin", "Debug", framework.GetShortFolderName(), "TestLibraryWithMultipleFrameworks.dll"); var targetFramework = PeReaderUtils.GetAssemblyAttributeValue(output, "TargetFrameworkAttribute"); if (shouldHaveTargetFrameworkAttribute) { targetFramework.Should().NotBeNull(); targetFramework.Should().BeEquivalentTo(framework.DotNetFrameworkName); } else { targetFramework.Should().BeNull(); } } }
public void SettingVersionSuffixFlag_ShouldStampAssemblyInfoInOutputAssemblyAndPackage() { var testInstance = TestAssets.Get("TestLibraryWithConfiguration") .CreateInstance() .WithSourceFiles() .WithRestoreFiles(); new PackCommand(versionSuffix: "85") .WithWorkingDirectory(testInstance.Root.FullName) .WithConfiguration("Debug") .Execute() .Should().Pass(); var output = testInstance.Root .GetDirectory("bin", "Debug", DefaultLibraryFramework) .GetFile("TestLibraryWithConfiguration.dll"); var informationalVersion = PeReaderUtils.GetAssemblyAttributeValue(output.FullName, "AssemblyInformationalVersionAttribute"); informationalVersion.Should().NotBeNull() .And.BeEquivalentTo("1.0.0-85"); // netstandard1.5 is a workaround for https://github.com/dotnet/sdk/issues/318 var outputPackage = testInstance.Root .GetDirectory("bin", "Debug", "netstandard1.5") .GetFile("TestLibraryWithConfiguration.1.0.0-85.nupkg"); outputPackage.Should().Exist(); }
public void SettingVersionSuffixFlag_ShouldStampAssemblyInfoInOutputAssembly() { var testInstance = TestAssetsManager.CreateTestInstance("TestLibraryWithConfiguration") .WithLockFiles(); var cmd = new BuildCommand(Path.Combine(testInstance.TestRoot, Project.FileName), framework: DefaultLibraryFramework, versionSuffix: "85"); cmd.ExecuteWithCapturedOutput().Should().Pass(); var output = Path.Combine(testInstance.TestRoot, "bin", "Debug", DefaultLibraryFramework, "TestLibraryWithConfiguration.dll"); var informationalVersion = PeReaderUtils.GetAssemblyAttributeValue(output, "AssemblyInformationalVersionAttribute"); informationalVersion.Should().NotBeNull(); informationalVersion.Should().BeEquivalentTo("1.0.0-85"); }
public void SettingVersionInEnvironment_ShouldStampAssemblyInfoInOutputAssembly() { var testInstance = TestAssetsManager.CreateTestInstance("TestLibraryWithConfiguration") .WithLockFiles(); var cmd = new BuildCommand(Path.Combine(testInstance.TestRoot, Project.FileName), framework: DefaultFramework); cmd.Environment["DOTNET_BUILD_VERSION"] = "85"; cmd.Environment["DOTNET_ASSEMBLY_FILE_VERSION"] = "345"; cmd.ExecuteWithCapturedOutput().Should().Pass(); var output = Path.Combine(testInstance.TestRoot, "bin", "Debug", DefaultFramework, "TestLibraryWithConfiguration.dll"); var informationalVersion = PeReaderUtils.GetAssemblyAttributeValue(output, "AssemblyInformationalVersionAttribute"); var fileVersion = PeReaderUtils.GetAssemblyAttributeValue(output, "AssemblyFileVersionAttribute"); informationalVersion.Should().NotBeNull(); informationalVersion.Should().BeEquivalentTo("1.0.0-85"); fileVersion.Should().NotBeNull(); fileVersion.Should().BeEquivalentTo("1.0.0.345"); }