<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">Net4</Platform>
    <ProjectGuid>{5AD344F0-01A0-4CA8-92E5-9D095737744D}</ProjectGuid>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>Properties</AppDesignerFolder>
    <RootNamespace>IPA</RootNamespace>
    <AssemblyName>IPA.Loader</AssemblyName>
    <FileAlignment>512</FileAlignment>
    <Deterministic>true</Deterministic>
    <PathMap>$(SolutionDir)=C:\</PathMap>
    <DebugType>portable</DebugType>
    <ShowTargetFrameworks>false</ShowTargetFrameworks>
    <ShowTargetFrameworks Condition=" '$(BuildingInsideVisualStudio)' != 'true' Or '$(CI)' == 'True' ">true</ShowTargetFrameworks>
    <TargetFrameworks Condition=" '$(ShowTargetFrameworks)' == 'true' ">net461;net35</TargetFrameworks>
    <LangVersion>8.0</LangVersion>
    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
    <DebugSymbols>true</DebugSymbols>
    <Optimize>false</Optimize>
    <OutputPath>bin\$(Platform)\Debug\</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <RegisterForComInterop>false</RegisterForComInterop>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
    <Optimize>true</Optimize>
    <OutputPath>bin\$(Platform)\Release\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <RegisterForComInterop>false</RegisterForComInterop>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Platform)' == 'Net4' ">
    <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
    <DefineConstants>$(DefineConstants);NET4</DefineConstants>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Platform)' == 'Net3' ">
    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
    <DefineConstants>$(DefineConstants);NET3</DefineConstants>
  </PropertyGroup>
  <PropertyGroup>
    <DocumentationFile>$(OutputPath)IPA.Loader.xml</DocumentationFile>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="System" />
    <Reference Include="System.Core" />
    <Reference Include="System.Xml.Linq" />
    <Reference Include="System.Data.DataSetExtensions" />
    <Reference Include="Microsoft.CSharp" Condition=" '$(Platform)' == 'Net4' " />
    <Reference Include="System.Data" />
    <Reference Include="System.Net.Http" Condition=" '$(Platform)' == 'Net4' " />
    <Reference Include="System.Xml" />
  </ItemGroup>
  <ItemGroup Condition=" '$(Platform)' == 'Net4' ">
    <Reference Include="UnityEngine.CoreModule">
      <HintPath>..\Refs\UnityEngine.CoreModule.Net4.dll</HintPath>
      <Private>False</Private>
    </Reference>
    <Reference Include="UnityEngine.UnityWebRequestModule">
      <HintPath>..\Refs\UnityEngine.UnityWebRequestModule.Net4.dll</HintPath>
      <Private>False</Private>
    </Reference>
  </ItemGroup>
  <ItemGroup Condition=" '$(Platform)' == 'Net3' ">
    <Reference Include="UnityEngine.CoreModule">
      <HintPath>..\Refs\UnityEngine.CoreModule.Net3.dll</HintPath>
      <Private>False</Private>
    </Reference>
    <Reference Include="UnityEngine.UnityWebRequestModule">
      <HintPath>..\Refs\UnityEngine.UnityWebRequestModule.Net3.dll</HintPath>
      <Private>False</Private>
    </Reference>
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="..\Net3-Proxy\Net3-Proxy.csproj" Condition=" '$(Platform)' == 'Net3' ">
      <Project>{642F52DA-90F9-40E3-8784-6964F36752FB}</Project>
      <Name>Net3-Proxy</Name>
    </ProjectReference>
  </ItemGroup>
  <ItemGroup>
    <Compile Include="Config\Config.cs" />
    <Compile Include="Config\ConfigRuntime.cs" />
    <Compile Include="Config\Providers\JsonConfigProvider.cs" />
    <Compile Include="Config\Data\List.cs" />
    <Compile Include="Config\Data\Map.cs" />
    <Compile Include="Config\Data\Primitives.cs" />
    <Compile Include="Config\Data\Value.cs" />
    <Compile Include="Config\IConfigProvider.cs" />
    <Compile Include="Config\IConfigStore.cs" />
    <Compile Include="Config\SelfConfig.cs" />
    <Compile Include="Config\Stores\GeneratedStore.cs" />
    <Compile Include="JsonConverters\AlmostVersionConverter.cs" />
    <Compile Include="JsonConverters\MultilineStringConverter.cs" />
    <Compile Include="Loader\Composite\CompositeBSPlugin.cs" />
    <Compile Include="Loader\DisabledConfig.cs" />
    <Compile Include="Loader\Features\ConfigProviderFeature.cs" />
    <Compile Include="Loader\Features\DefineFeature.cs" />
    <Compile Include="Loader\Features\InitInjectorFeature.cs" />
    <Compile Include="Loader\Features\NoRuntimeEnableFeature.cs" />
    <Compile Include="Loader\Features\NoUpdateFeature.cs" />
    <Compile Include="Loader\Features\PrintFeature.cs" />
    <Compile Include="Loader\HarmonyProtector.cs" />
    <Compile Include="Loader\PluginInitInjector.cs" />
    <Compile Include="Loader\LibLoader.cs" />
    <Compile Include="Loader\Features\Feature.cs" />
    <Compile Include="Loader\PluginLoader.cs" />
    <Compile Include="Loader\PluginManifest.cs" />
    <Compile Include="Logging\ConsoleWindow.cs" />
    <Compile Include="Logging\Printers\ColorlessConsolePrinter.cs" />
    <Compile Include="Logging\Printers\PluginSubLogPrinter.cs" />
    <Compile Include="Logging\StdoutInterceptor.cs" />
    <Compile Include="PluginInterfaces\BeatSaber\IDisablablePlugin.cs" />
    <Compile Include="PluginInterfaces\BeatSaber\IEnhancedPlugin.cs" />
    <Compile Include="PluginInterfaces\BeatSaber\IPlugin.cs" />
    <Compile Include="PluginInterfaces\IGenericEnhancedPlugin.cs" />
    <Compile Include="Config\IniFile.cs" />
    <Compile Include="PluginInterfaces\IPA\IEnhancedPlugin.cs" />
    <Compile Include="PluginInterfaces\IPA\IPlugin.cs" />
    <Compile Include="Logging\Logger.cs" />
    <Compile Include="Logging\LogPrinter.cs" />
    <Compile Include="Config\ModPrefs.cs" />
    <Compile Include="JsonConverters\SemverRangeConverter.cs" />
    <Compile Include="JsonConverters\SemverVersionConverter.cs" />
    <Compile Include="Utilities\Async\SingleThreadTaskScheduler.cs" />
    <Compile Include="Utilities\BeatSaber.cs" />
    <Compile Include="Utilities\AlmostVersion.cs" />
    <Compile Include="Utilities\CriticalSection.cs" />
    <Compile Include="Utilities\Ref.cs" />
    <Compile Include="Utilities\ReflectionUtil.cs" />
    <Compile Include="Loader\Composite\CompositeIPAPlugin.cs" />
    <Compile Include="Logging\Printers\ColoredConsolePrinter.cs" />
    <Compile Include="Logging\Printers\GlobalLogFilePrinter.cs" />
    <Compile Include="Logging\Printers\GZFilePrinter.cs" />
    <Compile Include="Logging\Printers\PluginLogFilePrinter.cs" />
    <Compile Include="Logging\StandardLogger.cs" />
    <Compile Include="Logging\UnityLogProvider.cs" />
    <Compile Include="Loader\PluginComponent.cs" />
    <Compile Include="Loader\PluginManager.cs" />
    <Compile Include="Properties\AssemblyInfo.cs" />
    <Compile Include="Updating\BeatMods\ApiEndpoint.cs" />
    <Compile Include="Updating\BeatMods\Updater.cs" />
    <Compile Include="Utilities\Extensions.cs" />
    <Compile Include="Utilities\Async\Synchronization.cs" />
    <Compile Include="Utilities\Utils.cs" />
    <Compile Include="Utilities\Win32.cs" />
  </ItemGroup>
  <ItemGroup>
    <PackageReference Include="Ionic.Zip">
      <Version>1.9.1.8</Version>
    </PackageReference>
    <PackageReference Include="Lib.Harmony">
      <Version>1.2.0.1</Version>
    </PackageReference>
    <PackageReference Include="Mono.Cecil">
      <Version>0.10.4</Version>
    </PackageReference>
    <PackageReference Include="Newtonsoft.Json">
      <Version>12.0.3</Version>
    </PackageReference>
    <PackageReference Include="Portable.System.ValueTuple">
      <Version>1.0.1</Version>
    </PackageReference>
    <PackageReference Include="SemanticVersioning">
      <Version>1.2.2</Version>
    </PackageReference>
    <PackageReference Include="AsyncBridge">
      <Version>0.3.1</Version>
    </PackageReference>
  </ItemGroup>
  <ItemGroup>
    <EmbeddedResource Include="Loader\manifest.json" />
    <EmbeddedResource Include="icon_white.png" />
    <EmbeddedResource Include="Loader\description.md" />
  </ItemGroup>
  <ItemGroup>
    <None Include="icon_black.png" />
  </ItemGroup>
  <ItemGroup />
  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>