Merge branch 'release/2.1.4xx' into release/2.2.1xx

* release/2.1.4xx:
  Fix dotnet sln add for multitargeted C# and VB projects.
This commit is contained in:
Peter Huene 2018-07-31 13:52:07 -07:00
commit 7db00ca232
No known key found for this signature in database
GPG key ID: E1D265D820213D6A
9 changed files with 141 additions and 1 deletions

View file

@ -1012,6 +1012,72 @@ EndGlobal
.Should().BeVisuallyEquivalentTo(ExpectedSlnFileAfterAddingProjectWithAdditionalConfigs);
}
[Fact]
public void ItAddsACSharpProjectThatIsMultitargeted()
{
var solutionDirectory = TestAssets
.Get("TestAppsWithSlnAndMultitargetedProjects")
.CreateInstance()
.WithSourceFiles()
.Root
.FullName;
var slnFullPath = Path.Combine(solutionDirectory, "App.sln");
var projectToAdd = Path.Combine("MultitargetedCS", "MultitargetedCS.csproj");
new DotnetCommand()
.WithWorkingDirectory(solutionDirectory)
.ExecuteWithCapturedOutput($"sln add {projectToAdd}")
.Should()
.Pass()
.And
.HaveStdOutContaining(string.Format(CommonLocalizableStrings.ProjectAddedToTheSolution, projectToAdd));
}
[Fact]
public void ItAddsAVisualBasicProjectThatIsMultitargeted()
{
var solutionDirectory = TestAssets
.Get("TestAppsWithSlnAndMultitargetedProjects")
.CreateInstance()
.WithSourceFiles()
.Root
.FullName;
var slnFullPath = Path.Combine(solutionDirectory, "App.sln");
var projectToAdd = Path.Combine("MultitargetedVB", "MultitargetedVB.vbproj");
new DotnetCommand()
.WithWorkingDirectory(solutionDirectory)
.ExecuteWithCapturedOutput($"sln add {projectToAdd}")
.Should()
.Pass()
.And
.HaveStdOutContaining(string.Format(CommonLocalizableStrings.ProjectAddedToTheSolution, projectToAdd));
}
[Fact]
public void ItAddsAnFSharpProjectThatIsMultitargeted()
{
var solutionDirectory = TestAssets
.Get("TestAppsWithSlnAndMultitargetedProjects")
.CreateInstance()
.WithSourceFiles()
.Root
.FullName;
var slnFullPath = Path.Combine(solutionDirectory, "App.sln");
var projectToAdd = Path.Combine("MultitargetedFS", "MultitargetedFS.fsproj");
new DotnetCommand()
.WithWorkingDirectory(solutionDirectory)
.ExecuteWithCapturedOutput($"sln add {projectToAdd}")
.Should()
.Pass()
.And
.HaveStdOutContaining(string.Format(CommonLocalizableStrings.ProjectAddedToTheSolution, projectToAdd));
}
private string GetExpectedSlnContents(
string slnPath,
string slnTemplate,