Fix dotnet sln add for multitargeted C# and VB projects.

This commit integrates a fix from the SDK repo that sets
`DefaultProjectTypeGuid` for VB and C# projects when the projects are
multitargeting.  This property is used by `dotnet sln add` to determine the
project type guid to map in the solution file.

Adding additional tests that cover the multitargeting scenario for `dotnet sln
add`.

Fixes #9477.
This commit is contained in:
Peter Huene 2018-07-30 12:22:27 -07:00
parent ed8ee9f23b
commit 96c9dc375a
No known key found for this signature in database
GPG key ID: E1D265D820213D6A
9 changed files with 141 additions and 1 deletions

View file

@ -0,0 +1,8 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFrameworks>netcoreapp2.1</TargetFrameworks>
</PropertyGroup>
</Project>

View file

@ -0,0 +1,12 @@
using System;
namespace MultitargetedCS
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}

View file

@ -0,0 +1,12 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFrameworks>netcoreapp2.1</TargetFrameworks>
</PropertyGroup>
<ItemGroup>
<Compile Include="Program.fs" />
</ItemGroup>
</Project>

View file

@ -0,0 +1,8 @@
// Learn more about F# at http://fsharp.org
open System
[<EntryPoint>]
let main argv =
printfn "Hello World from F#!"
0 // return an integer exit code

View file

@ -0,0 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<RootNamespace>MultitargetedVB</RootNamespace>
<TargetFrameworks>netcoreapp2.1</TargetFrameworks>
</PropertyGroup>
</Project>

View file

@ -0,0 +1,7 @@
Imports System
Module Program
Sub Main(args As String())
Console.WriteLine("Hello World!")
End Sub
End Module

View file

@ -0,0 +1,18 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.26124.0
MinimumVisualStudioVersion = 15.0.26124.0
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal