Index: branches/2522_RefactorPluginInfrastructure/HeuristicLab.Core/3.3/HeuristicLab.Core-3.3.csproj
===================================================================
--- branches/2522_RefactorPluginInfrastructure/HeuristicLab.Core/3.3/HeuristicLab.Core-3.3.csproj	(revision 15651)
+++ branches/2522_RefactorPluginInfrastructure/HeuristicLab.Core/3.3/HeuristicLab.Core-3.3.csproj	(revision 16143)
@@ -1,297 +1,31 @@
 ﻿<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
+<Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>9.0.30729</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{C36BD924-A541-4A00-AFA8-41701378DDC5}</ProjectGuid>
-    <OutputType>Library</OutputType>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>HeuristicLab.Core</RootNamespace>
-    <AssemblyName>HeuristicLab.Core-3.3</AssemblyName>
+    <TargetFramework>netstandard2.0</TargetFramework>
+    <Copyright>(c) 2002-2018 HEAL</Copyright>
+    <Product>HeuristicLab</Product>
     <SignAssembly>true</SignAssembly>
     <AssemblyOriginatorKeyFile>HeuristicLab.snk</AssemblyOriginatorKeyFile>
-    <FileUpgradeFlags>
-    </FileUpgradeFlags>
-    <OldToolsVersion>3.5</OldToolsVersion>
-    <UpgradeBackupLocation>
-    </UpgradeBackupLocation>
-    <IsWebBootstrapper>true</IsWebBootstrapper>
-    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
-    <TargetFrameworkProfile>
-    </TargetFrameworkProfile>
-    <PublishUrl>http://localhost/HeuristicLab.Core/</PublishUrl>
-    <Install>true</Install>
-    <InstallFrom>Web</InstallFrom>
-    <UpdateEnabled>true</UpdateEnabled>
-    <UpdateMode>Foreground</UpdateMode>
-    <UpdateInterval>7</UpdateInterval>
-    <UpdateIntervalUnits>Days</UpdateIntervalUnits>
-    <UpdatePeriodically>false</UpdatePeriodically>
-    <UpdateRequired>false</UpdateRequired>
-    <MapFileExtensions>true</MapFileExtensions>
-    <ApplicationRevision>0</ApplicationRevision>
-    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
-    <UseApplicationTrust>false</UseApplicationTrust>
-    <BootstrapperEnabled>true</BootstrapperEnabled>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>$(SolutionDir)\bin\</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <DocumentationFile>
-    </DocumentationFile>
-    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
-    <Prefer32Bit>false</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>$(SolutionDir)\bin\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <DocumentationFile>
-    </DocumentationFile>
-    <TreatWarningsAsErrors>false</TreatWarningsAsErrors>
-    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
-    <Prefer32Bit>false</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
-    <DebugSymbols>true</DebugSymbols>
-    <OutputPath>$(SolutionDir)\bin\</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <DebugType>full</DebugType>
-    <PlatformTarget>x86</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
-    <Prefer32Bit>false</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
-    <OutputPath>$(SolutionDir)\bin\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <DocumentationFile>
-    </DocumentationFile>
-    <Optimize>true</Optimize>
-    <DebugType>pdbonly</DebugType>
-    <PlatformTarget>x86</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
-    <Prefer32Bit>false</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
-    <DebugSymbols>true</DebugSymbols>
-    <OutputPath>$(SolutionDir)\bin\</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <DebugType>full</DebugType>
-    <PlatformTarget>x64</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
-    <Prefer32Bit>false</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
-    <OutputPath>$(SolutionDir)\bin\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <DocumentationFile>
-    </DocumentationFile>
-    <Optimize>true</Optimize>
-    <DebugType>pdbonly</DebugType>
-    <PlatformTarget>x64</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
-    <Prefer32Bit>false</Prefer32Bit>
+    <AssemblyVersion>3.3.0.0</AssemblyVersion>
+    <AssemblyFileVersion>3.3.15.0</AssemblyFileVersion>
+    <RootNamespace>HeuristicLab.Core</RootNamespace>
   </PropertyGroup>
   <ItemGroup>
-    <Reference Include="System" />
-    <Reference Include="System.Core">
-      <RequiredTargetFramework>3.5</RequiredTargetFramework>
-    </Reference>
-    <Reference Include="System.Data" />
-    <Reference Include="System.Drawing" />
-    <Reference Include="System.Xml" />
+    <PackageReference Include="Microsoft.Windows.Compatibility" Version="2.0.1" />
+    <PackageReference Include="System.Drawing.Common" Version="4.5.0" />
   </ItemGroup>
   <ItemGroup>
-    <Compile Include="Attributes\ItemAttribute.cs" />
-    <Compile Include="Attributes\CreatableAttribute.cs" />
-    <None Include="Plugin.cs.frame" />
-    <Compile Include="Collections\CheckedItemCollection.cs" />
-    <Compile Include="Collections\CheckedItemList.cs" />
-    <Compile Include="Collections\DirectedGraph\Arc.cs" />
-    <Compile Include="Collections\DirectedGraph\DirectedGraph.cs" />
-    <Compile Include="Collections\DirectedGraph\Vertex.cs" />
-    <Compile Include="Collections\ReadOnlyCheckedItemCollection.cs" />
-    <Compile Include="Collections\ReadOnlyCheckedItemList.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Collections\ReadOnlyItemDictionary.cs" />
-    <Compile Include="Collections\ItemDictionary.cs" />
-    <Compile Include="Collections\ReadOnlyKeyedItemCollection.cs" />
-    <Compile Include="Collections\KeyedItemCollection.cs" />
-    <Compile Include="Collections\ReadOnlyItemSet.cs" />
-    <Compile Include="Collections\ReadOnlyItemList.cs" />
-    <Compile Include="Collections\ReadOnlyItemArray.cs" />
-    <Compile Include="Collections\ReadOnlyItemCollection.cs" />
-    <Compile Include="Collections\ItemArray.cs" />
-    <Compile Include="Collections\ItemCollection.cs" />
-    <Compile Include="Collections\ItemList.cs" />
-    <Compile Include="Collections\ItemSet.cs" />
-    <Compile Include="Collections\NamedItemCollection.cs" />
-    <Compile Include="Collections\OperationCollection.cs" />
-    <Compile Include="Collections\OperatorCollection.cs" />
-    <Compile Include="Collections\OperatorList.cs" />
-    <Compile Include="Collections\OperatorSet.cs" />
-    <Compile Include="Collections\ParameterCollection.cs" />
-    <Compile Include="Collections\ScopeList.cs" />
-    <Compile Include="Collections\ValueParameterCollection.cs" />
-    <Compile Include="Collections\VariableCollection.cs" />
-    <Compile Include="Constraints\ComparisonConstraint.cs" />
-    <Compile Include="Constraints\Constraint.cs" />
-    <Compile Include="Collections\ConstraintCollection.cs" />
-    <Compile Include="Constraints\ConstraintOperation.cs" />
-    <Compile Include="Constraints\EqualityConstraint.cs" />
-    <Compile Include="Constraints\IConstraint.cs" />
-    <Compile Include="Constraints\TypeCompatibilityConstraint.cs" />
-    <Compile Include="Interfaces\DirectedGraph\IArc.cs" />
-    <Compile Include="Interfaces\DirectedGraph\IDirectedGraph.cs" />
-    <Compile Include="Interfaces\DirectedGraph\IVertex.cs" />
-    <Compile Include="Interfaces\ICheckedMultiOperator.cs" />
-    <Compile Include="Interfaces\IConstrainedValueParameter.cs" />
-    <Compile Include="Interfaces\IInstrumentedOperator.cs" />
-    <Compile Include="Interfaces\IMultiOperator.cs" />
-    <Compile Include="Interfaces\IFixedValueParameter.cs" />
-    <Compile Include="Interfaces\IOperatorGraphOperator.cs" />
-    <Compile Include="Interfaces\IProgrammableItem.cs" />
-    <Compile Include="Interfaces\IStatefulItem.cs" />
-    <Compile Include="OperatorExecutionException.cs" />
-    <Compile Include="Interfaces\IScopeTreeLookupParameter.cs" />
-    <Compile Include="Interfaces\ICheckedItemList.cs" />
-    <Compile Include="Interfaces\ICheckedItemCollection.cs" />
-    <Compile Include="PersistenceContentManager.cs" />
-    <Compile Include="Interfaces\IKeyedItemCollection.cs" />
-    <Compile Include="Interfaces\IItemList.cs" />
-    <Compile Include="Interfaces\IItemSet.cs" />
-    <Compile Include="Interfaces\IItemDictionary.cs" />
-    <Compile Include="Interfaces\IItemArray.cs" />
-    <Compile Include="Interfaces\IItemCollection.cs" />
-    <Compile Include="Log.cs" />
-    <Compile Include="Executable.cs" />
-    <Compile Include="ExecutionState.cs" />
-    <Compile Include="Interfaces\ILog.cs" />
-    <Compile Include="Interfaces\IExecutable.cs" />
-    <Compile Include="Interfaces\IParameterizedNamedItem.cs" />
-    <Compile Include="Interfaces\IParameterizedItem.cs" />
-    <Compile Include="Interfaces\IAtomicOperation.cs" />
-    <Compile Include="Interfaces\IExecutionContext.cs" />
-    <Compile Include="Interfaces\IOperation.cs" />
-    <Compile Include="ParameterizedNamedItem.cs" />
-    <Compile Include="Interfaces\IValueLookupParameter.cs" />
-    <Compile Include="Interfaces\IValueParameter.cs" />
-    <Compile Include="Interfaces\ILookupParameter.cs" />
-    <Compile Include="Engine.cs" />
-    <Compile Include="Interfaces\IScope.cs" />
-    <Compile Include="Interfaces\IVariable.cs" />
-    <Compile Include="Item.cs" />
-    <Compile Include="NamedItem.cs" />
-    <Compile Include="OperatorGraph.cs" />
-    <Compile Include="Interfaces\IParameter.cs" />
-    <Compile Include="Interfaces\IEngine.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="ExecutionContext.cs" />
-    <Compile Include="Interfaces\INamedItem.cs" />
-    <Compile Include="Interfaces\IItem.cs" />
-    <Compile Include="Interfaces\IRandom.cs" />
-    <Compile Include="Plugin.cs" />
-    <Compile Include="Scope.cs" />
-    <Compile Include="Interfaces\IOperator.cs" />
-    <Compile Include="Properties\AssemblyInfo.cs" />
-    <Compile Include="ThreadSafeLog.cs" />
-    <Compile Include="Variable.cs" />
+    <ProjectReference Include="..\..\HeuristicLab.Collections\3.3\HeuristicLab.Collections-3.3.csproj" />
+    <ProjectReference Include="..\..\HeuristicLab.Common.Resources\3.3\HeuristicLab.Common.Resources-3.3.csproj" />
+    <ProjectReference Include="..\..\HeuristicLab.Common\3.3\HeuristicLab.Common-3.3.csproj" />
+    <ProjectReference Include="..\..\HeuristicLab.Persistence\3.3\HeuristicLab.Persistence-3.3.csproj" />
+    <ProjectReference Include="..\..\HeuristicLab.PluginInfrastructure\3.3\HeuristicLab.PluginInfrastructure-3.3.csproj" />
   </ItemGroup>
-  <ItemGroup>
-    <None Include="HeuristicLab.snk" />
-    <None Include="Properties\AssemblyInfo.cs.frame" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\..\HeuristicLab.Collections\3.3\HeuristicLab.Collections-3.3.csproj">
-      <Project>{958B43BC-CC5C-4FA2-8628-2B3B01D890B6}</Project>
-      <Name>HeuristicLab.Collections-3.3</Name>
-      <Private>False</Private>
-    </ProjectReference>
-    <ProjectReference Include="..\..\HeuristicLab.Common.Resources\3.3\HeuristicLab.Common.Resources-3.3.csproj">
-      <Project>{0E27A536-1C4A-4624-A65E-DC4F4F23E3E1}</Project>
-      <Name>HeuristicLab.Common.Resources-3.3</Name>
-      <Private>False</Private>
-    </ProjectReference>
-    <ProjectReference Include="..\..\HeuristicLab.Common\3.3\HeuristicLab.Common-3.3.csproj">
-      <Project>{A9AD58B9-3EF9-4CC1-97E5-8D909039FF5C}</Project>
-      <Name>HeuristicLab.Common-3.3</Name>
-      <Private>False</Private>
-    </ProjectReference>
-    <ProjectReference Include="..\..\HeuristicLab.Persistence\3.3\HeuristicLab.Persistence-3.3.csproj">
-      <Project>{102BC7D3-0EF9-439C-8F6D-96FF0FDB8E1B}</Project>
-      <Name>HeuristicLab.Persistence-3.3</Name>
-      <Private>False</Private>
-    </ProjectReference>
-    <ProjectReference Include="..\..\HeuristicLab.PluginInfrastructure\3.3\HeuristicLab.PluginInfrastructure-3.3.csproj">
-      <Project>{94186A6A-5176-4402-AE83-886557B53CCA}</Project>
-      <Name>HeuristicLab.PluginInfrastructure-3.3</Name>
-      <Private>False</Private>
-    </ProjectReference>
-  </ItemGroup>
-  <ItemGroup>
-    <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
-      <Visible>False</Visible>
-      <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
-      <Install>false</Install>
-    </BootstrapperPackage>
-    <BootstrapperPackage Include="Microsoft.Net.Framework.2.0">
-      <Visible>False</Visible>
-      <ProductName>.NET Framework 2.0 %28x86%29</ProductName>
-      <Install>true</Install>
-    </BootstrapperPackage>
-    <BootstrapperPackage Include="Microsoft.Net.Framework.3.0">
-      <Visible>False</Visible>
-      <ProductName>.NET Framework 3.0 %28x86%29</ProductName>
-      <Install>false</Install>
-    </BootstrapperPackage>
-    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5">
-      <Visible>False</Visible>
-      <ProductName>.NET Framework 3.5</ProductName>
-      <Install>false</Install>
-    </BootstrapperPackage>
-    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
-      <Visible>False</Visible>
-      <ProductName>.NET Framework 3.5 SP1</ProductName>
-      <Install>false</Install>
-    </BootstrapperPackage>
-  </ItemGroup>
-  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
-       Other similar extension points exist, see Microsoft.Common.targets.
-  <Target Name="BeforeBuild">
+  <Target Name="PreBuild" BeforeTargets="PreBuildEvent">
+    <Exec Command="set Path=%Path%;$(ProjectDir);$(SolutionDir)&#xD;&#xA;set ProjectDir=$(ProjectDir)&#xD;&#xA;set SolutionDir=$(SolutionDir)&#xD;&#xA;set Outdir=$(Outdir)&#xD;&#xA;call PreBuildEvent.cmd" />
   </Target>
-  <Target Name="AfterBuild">
-  </Target>
-  -->
-  <PropertyGroup>
-    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">set Path=%25Path%25;$(ProjectDir);$(SolutionDir)
-set ProjectDir=$(ProjectDir)
-set SolutionDir=$(SolutionDir)
-set Outdir=$(Outdir)
-
-call PreBuildEvent.cmd
-</PreBuildEvent>
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
-export ProjectDir=$(ProjectDir)
-export SolutionDir=$(SolutionDir)
-
-$SolutionDir/PreBuildEvent.sh
-</PreBuildEvent>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
+    <OutputPath>..\..\bin\</OutputPath>
+    <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
   </PropertyGroup>
 </Project>
