Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Ward <matt.ward@microsoft.com>2019-06-04 12:13:52 +0300
committerMatt Ward <matt.ward@microsoft.com>2019-08-07 11:16:08 +0300
commitdbf513652a19625b3acfc1625d0398f5b9f51090 (patch)
tree68563fd30f2fbcf1180b56a242d7e43abe05d187 /main/tests/test-projects
parentb695858f9bac9d31e581ff76ecc0fb317e6498d5 (diff)
[Ide] Support multi-target framework projects in type system
Each target framework results in a Roslyn Project being created with the references and source files specific to that target framework. The project info cache generates a separate cache file for each target framework. Running MSBuild targets now support the configuration having a target framework. This was to avoid having to add a new framework parameter to several project system methods. The implementation involves a custom configuration selector - a possible improvement here would be to have these framework aware configurations available from the Project itself - the current custom selector implementation seems a little clumsy. Project references on the Roslyn Project are not currently multi-target framework aware. Fixes VSTS #572311 - Multi-framework support in Roslyn workspace
Diffstat (limited to 'main/tests/test-projects')
-rwxr-xr-xmain/tests/test-projects/multi-target-netframework/MyClass-netframework.cs5
-rwxr-xr-xmain/tests/test-projects/multi-target-netframework/MyClass-netstandard.cs5
-rw-r--r--main/tests/test-projects/multi-target-netframework/multi-target.csproj14
-rw-r--r--main/tests/test-projects/multi-target-netframework/multi-target.sln17
4 files changed, 41 insertions, 0 deletions
diff --git a/main/tests/test-projects/multi-target-netframework/MyClass-netframework.cs b/main/tests/test-projects/multi-target-netframework/MyClass-netframework.cs
new file mode 100755
index 0000000000..2e091cdafd
--- /dev/null
+++ b/main/tests/test-projects/multi-target-netframework/MyClass-netframework.cs
@@ -0,0 +1,5 @@
+using System;
+
+class MyClass
+{
+} \ No newline at end of file
diff --git a/main/tests/test-projects/multi-target-netframework/MyClass-netstandard.cs b/main/tests/test-projects/multi-target-netframework/MyClass-netstandard.cs
new file mode 100755
index 0000000000..2e091cdafd
--- /dev/null
+++ b/main/tests/test-projects/multi-target-netframework/MyClass-netstandard.cs
@@ -0,0 +1,5 @@
+using System;
+
+class MyClass
+{
+} \ No newline at end of file
diff --git a/main/tests/test-projects/multi-target-netframework/multi-target.csproj b/main/tests/test-projects/multi-target-netframework/multi-target.csproj
new file mode 100644
index 0000000000..5382a32895
--- /dev/null
+++ b/main/tests/test-projects/multi-target-netframework/multi-target.csproj
@@ -0,0 +1,14 @@
+<Project Sdk="Microsoft.NET.Sdk">
+ <PropertyGroup>
+ <OutputType>Exe</OutputType>
+ <TargetFrameworks>net472;netstandard1.0</TargetFrameworks>
+ </PropertyGroup>
+
+ <ItemGroup Condition="'$(TargetFramework)' == 'net472'">
+ <Compile Remove="MyClass-netstandard.cs" />
+ </ItemGroup>
+
+ <ItemGroup Condition="'$(TargetFramework)' == 'netstandard1.0'">
+ <Compile Remove="MyClass-netframework.cs" />
+ </ItemGroup>
+</Project>
diff --git a/main/tests/test-projects/multi-target-netframework/multi-target.sln b/main/tests/test-projects/multi-target-netframework/multi-target.sln
new file mode 100644
index 0000000000..9cb6a5b6a4
--- /dev/null
+++ b/main/tests/test-projects/multi-target-netframework/multi-target.sln
@@ -0,0 +1,17 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "multi-target", "multi-target.csproj", "{5B443F8D-6C84-443F-A395-5429E8F4A47D}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {5B443F8D-6C84-443F-A395-5429E8F4A47D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {5B443F8D-6C84-443F-A395-5429E8F4A47D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {5B443F8D-6C84-443F-A395-5429E8F4A47D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {5B443F8D-6C84-443F-A395-5429E8F4A47D}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+EndGlobal