<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" 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)' == '' ">x86</Platform>
    <ProjectGuid>{F1A573B0-F436-472C-AE29-0B91EA6B9F8F}</ProjectGuid>
    <OutputType>Exe</OutputType>
    <AppDesignerFolder>Properties</AppDesignerFolder>
    <RootNamespace>StardewModdingAPI</RootNamespace>
    <AssemblyName>StardewModdingAPI</AssemblyName>
    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
    <FileAlignment>512</FileAlignment>
    <IsWebBootstrapper>false</IsWebBootstrapper>
    <TargetFrameworkProfile />
    <PublishUrl>publish\</PublishUrl>
    <Install>true</Install>
    <InstallFrom>Disk</InstallFrom>
    <UpdateEnabled>false</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>
    <LargeAddressAware Condition="'$(OS)' == 'Windows_NT'">true</LargeAddressAware>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
    <PlatformTarget>x86</PlatformTarget>
    <Prefer32Bit>false</Prefer32Bit>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <UseVSHostingProcess>true</UseVSHostingProcess>
    <Optimize>false</Optimize>
    <OutputPath>$(SolutionDir)\..\bin\Debug\SMAPI</OutputPath>
    <DocumentationFile>$(SolutionDir)\..\bin\Debug\SMAPI\StardewModdingAPI.xml</DocumentationFile>
    <CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
    <PlatformTarget>x86</PlatformTarget>
    <Prefer32Bit>false</Prefer32Bit>
    <OutputPath>$(SolutionDir)\..\bin\Release\SMAPI</OutputPath>
    <DocumentationFile>$(SolutionDir)\..\bin\Release\SMAPI\StardewModdingAPI.xml</DocumentationFile>
    <DefineConstants>TRACE</DefineConstants>
    <Optimize>true</Optimize>
    <CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
    <DebugType>pdbonly</DebugType>
    <DebugSymbols>true</DebugSymbols>
  </PropertyGroup>
  <PropertyGroup>
    <ApplicationIcon>icon.ico</ApplicationIcon>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="0Harmony, Version=1.0.9.1, Culture=neutral, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>..\lib\0Harmony.dll</HintPath>
    </Reference>
    <Reference Include="Mono.Cecil, Version=0.10.0.0, Culture=neutral, PublicKeyToken=50cebf1cceb9d05e, processorArchitecture=MSIL">
      <HintPath>..\packages\Mono.Cecil.0.10.0\lib\net40\Mono.Cecil.dll</HintPath>
      <Private>True</Private>
    </Reference>
    <Reference Include="Mono.Cecil.Mdb, Version=0.10.0.0, Culture=neutral, PublicKeyToken=50cebf1cceb9d05e, processorArchitecture=MSIL">
      <HintPath>..\packages\Mono.Cecil.0.10.0\lib\net40\Mono.Cecil.Mdb.dll</HintPath>
      <Private>True</Private>
    </Reference>
    <Reference Include="Mono.Cecil.Pdb, Version=0.10.0.0, Culture=neutral, PublicKeyToken=50cebf1cceb9d05e, processorArchitecture=MSIL">
      <HintPath>..\packages\Mono.Cecil.0.10.0\lib\net40\Mono.Cecil.Pdb.dll</HintPath>
      <Private>True</Private>
    </Reference>
    <Reference Include="Newtonsoft.Json, Version=11.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
      <HintPath>..\packages\Newtonsoft.Json.11.0.2\lib\net45\Newtonsoft.Json.dll</HintPath>
      <Private>True</Private>
    </Reference>
    <Reference Include="System" />
    <Reference Include="System.Core" />
    <Reference Include="System.Drawing" />
    <Reference Include="System.Numerics">
      <Private>True</Private>
    </Reference>
    <Reference Include="System.Runtime.Caching">
      <Private>True</Private>
    </Reference>
    <Reference Include="System.Windows.Forms" Condition="$(OS) == 'Windows_NT'" />
    <Reference Include="System.Xml" />
  </ItemGroup>
  <ItemGroup>
    <Compile Include="..\..\build\GlobalAssemblyInfo.cs">
      <Link>Properties\GlobalAssemblyInfo.cs</Link>
    </Compile>
    <Compile Include="Events\GameLoopUpdatedEventArgs.cs" />
    <Compile Include="Events\GameLoopLaunchedEventArgs.cs" />
    <Compile Include="Events\InputMouseWheelScrolledEventArgs.cs" />
    <Compile Include="Events\InputCursorMovedEventArgs.cs" />
    <Compile Include="Events\InputButtonReleasedEventArgs.cs" />
    <Compile Include="Events\InputButtonPressedEventArgs.cs" />
    <Compile Include="Events\EventArgsLocationBuildingsChanged.cs" />
    <Compile Include="Events\IInputEvents.cs" />
    <Compile Include="Events\IGameLoopEvents.cs" />
    <Compile Include="Events\IWorldEvents.cs" />
    <Compile Include="Events\MultiplayerEvents.cs" />
    <Compile Include="Events\WorldDebrisListChangedEventArgs.cs" />
    <Compile Include="Events\GameLoopUpdatingEventArgs.cs" />
    <Compile Include="Events\WorldNpcListChangedEventArgs.cs" />
    <Compile Include="Events\WorldLargeTerrainFeatureListChangedEventArgs.cs" />
    <Compile Include="Events\WorldTerrainFeatureListChangedEventArgs.cs" />
    <Compile Include="Events\WorldBuildingListChangedEventArgs.cs" />
    <Compile Include="Events\WorldLocationListChangedEventArgs.cs" />
    <Compile Include="Events\WorldObjectListChangedEventArgs.cs" />
    <Compile Include="Framework\ModHelpers\DataHelper.cs" />
    <Compile Include="Framework\SCore.cs" />
    <Compile Include="Framework\SGameConstructorHack.cs" />
    <Compile Include="Framework\ContentManagers\BaseContentManager.cs" />
    <Compile Include="Framework\ContentManagers\GameContentManager.cs" />
    <Compile Include="Framework\ContentManagers\IContentManager.cs" />
    <Compile Include="Framework\ContentManagers\ModContentManager.cs" />
    <Compile Include="Framework\Models\ModFolderExport.cs" />
    <Compile Include="Framework\ModLoading\TypeReferenceComparer.cs" />
    <Compile Include="Framework\Patching\GamePatcher.cs" />
    <Compile Include="Framework\Patching\IHarmonyPatch.cs" />
    <Compile Include="Framework\Serialisation\ColorConverter.cs" />
    <Compile Include="Framework\Serialisation\PointConverter.cs" />
    <Compile Include="Framework\Serialisation\RectangleConverter.cs" />
    <Compile Include="Framework\Events\ModEventsBase.cs" />
    <Compile Include="Framework\Events\EventManager.cs" />
    <Compile Include="Events\IModEvents.cs" />
    <Compile Include="Framework\Events\ManagedEvent.cs" />
    <Compile Include="Events\SpecialisedEvents.cs" />
    <Compile Include="Framework\ContentPack.cs" />
    <Compile Include="Framework\Content\ContentCache.cs" />
    <Compile Include="Framework\Events\ManagedEventBase.cs" />
    <Compile Include="Framework\Events\ModEvents.cs" />
    <Compile Include="Framework\Events\ModGameLoopEvents.cs" />
    <Compile Include="Framework\Events\ModInputEvents.cs" />
    <Compile Include="Framework\Input\GamePadStateBuilder.cs" />
    <Compile Include="Framework\ModHelpers\InputHelper.cs" />
    <Compile Include="Framework\StateTracking\Comparers\GenericEqualsComparer.cs" />
    <Compile Include="Framework\WatcherCore.cs" />
    <Compile Include="IDataHelper.cs" />
    <Compile Include="IInputHelper.cs" />
    <Compile Include="Framework\Input\SInputState.cs" />
    <Compile Include="Framework\Input\InputStatus.cs" />
    <Compile Include="Framework\ModHelpers\MultiplayerHelper.cs" />
    <Compile Include="Framework\ModLoading\Finders\EventFinder.cs" />
    <Compile Include="Framework\ModLoading\Finders\FieldFinder.cs" />
    <Compile Include="Framework\ModLoading\Finders\MethodFinder.cs" />
    <Compile Include="Framework\ModLoading\Finders\PropertyFinder.cs" />
    <Compile Include="Framework\ModLoading\Finders\ReferenceToMissingMemberFinder.cs" />
    <Compile Include="Framework\ModLoading\Finders\TypeFinder.cs" />
    <Compile Include="Framework\ModLoading\IInstructionHandler.cs" />
    <Compile Include="Framework\ModLoading\IncompatibleInstructionException.cs" />
    <Compile Include="Framework\ModLoading\InstructionHandleResult.cs" />
    <Compile Include="Framework\ModLoading\ModWarning.cs" />
    <Compile Include="Framework\ModLoading\PlatformAssemblyMap.cs" />
    <Compile Include="Framework\ModLoading\RewriteHelper.cs" />
    <Compile Include="Framework\ModLoading\Rewriters\FieldReplaceRewriter.cs" />
    <Compile Include="Framework\ModLoading\Rewriters\StaticFieldToConstantRewriter.cs" />
    <Compile Include="Framework\ModLoading\Rewriters\FieldToPropertyRewriter.cs" />
    <Compile Include="Framework\ModLoading\Finders\ReferenceToMemberWithUnexpectedTypeFinder.cs" />
    <Compile Include="Framework\ModLoading\Rewriters\VirtualEntryCallRemover.cs" />
    <Compile Include="Framework\ModLoading\Rewriters\MethodParentRewriter.cs" />
    <Compile Include="Framework\ModLoading\Rewriters\TypeReferenceRewriter.cs" />
    <Compile Include="Framework\Exceptions\SAssemblyLoadFailedException.cs" />
    <Compile Include="Framework\ModLoading\AssemblyLoadStatus.cs" />
    <Compile Include="Framework\Events\ModWorldEvents.cs" />
    <Compile Include="Framework\Reflection\InterfaceProxyBuilder.cs" />
    <Compile Include="Framework\Reflection\InterfaceProxyFactory.cs" />
    <Compile Include="Framework\RewriteFacades\SpriteBatchMethods.cs" />
    <Compile Include="Framework\SMultiplayer.cs" />
    <Compile Include="Framework\StateTracking\Comparers\EquatableComparer.cs" />
    <Compile Include="Framework\StateTracking\Comparers\ObjectReferenceComparer.cs" />
    <Compile Include="Framework\StateTracking\FieldWatchers\BaseDisposableWatcher.cs" />
    <Compile Include="Framework\StateTracking\FieldWatchers\ComparableWatcher.cs" />
    <Compile Include="Framework\StateTracking\FieldWatchers\NetDictionaryWatcher.cs" />
    <Compile Include="Framework\StateTracking\FieldWatchers\NetValueWatcher.cs" />
    <Compile Include="Framework\StateTracking\FieldWatchers\NetCollectionWatcher.cs" />
    <Compile Include="Framework\StateTracking\FieldWatchers\ObservableCollectionWatcher.cs" />
    <Compile Include="Framework\StateTracking\FieldWatchers\WatcherFactory.cs" />
    <Compile Include="Framework\StateTracking\ICollectionWatcher.cs" />
    <Compile Include="Framework\StateTracking\IDictionaryWatcher.cs" />
    <Compile Include="Framework\StateTracking\IValueWatcher.cs" />
    <Compile Include="Framework\StateTracking\IWatcher.cs" />
    <Compile Include="Framework\StateTracking\WorldLocationsTracker.cs" />
    <Compile Include="Framework\StateTracking\LocationTracker.cs" />
    <Compile Include="Framework\StateTracking\PlayerTracker.cs" />
    <Compile Include="Framework\Utilities\ContextHash.cs" />
    <Compile Include="IContentPack.cs" />
    <Compile Include="IModInfo.cs" />
    <Compile Include="IMultiplayerHelper.cs" />
    <Compile Include="IReflectedField.cs" />
    <Compile Include="IReflectedMethod.cs" />
    <Compile Include="IReflectedProperty.cs" />
    <Compile Include="Metadata\CoreAssetPropagator.cs" />
    <Compile Include="ContentSource.cs" />
    <Compile Include="Events\ContentEvents.cs" />
    <Compile Include="Events\EventArgsInput.cs" />
    <Compile Include="Events\EventArgsValueChanged.cs" />
    <Compile Include="Events\InputEvents.cs" />
    <Compile Include="Framework\Content\AssetInfo.cs" />
    <Compile Include="Framework\Exceptions\SContentLoadException.cs" />
    <Compile Include="Framework\Command.cs" />
    <Compile Include="Constants.cs" />
    <Compile Include="Events\ControlEvents.cs" />
    <Compile Include="Events\EventArgsClickableMenuChanged.cs" />
    <Compile Include="Events\EventArgsClickableMenuClosed.cs" />
    <Compile Include="Events\EventArgsControllerButtonPressed.cs" />
    <Compile Include="Events\EventArgsControllerButtonReleased.cs" />
    <Compile Include="Events\EventArgsControllerTriggerPressed.cs" />
    <Compile Include="Events\EventArgsControllerTriggerReleased.cs" />
    <Compile Include="Events\EventArgsPlayerWarped.cs" />
    <Compile Include="Events\EventArgsLocationsChanged.cs" />
    <Compile Include="Events\EventArgsIntChanged.cs" />
    <Compile Include="Events\EventArgsInventoryChanged.cs" />
    <Compile Include="Events\EventArgsKeyboardStateChanged.cs" />
    <Compile Include="Events\EventArgsKeyPressed.cs" />
    <Compile Include="Events\EventArgsLevelUp.cs" />
    <Compile Include="Events\EventArgsLocationObjectsChanged.cs" />
    <Compile Include="Events\EventArgsMineLevelChanged.cs" />
    <Compile Include="Events\EventArgsMouseStateChanged.cs" />
    <Compile Include="Events\GameEvents.cs" />
    <Compile Include="Events\GraphicsEvents.cs" />
    <Compile Include="Framework\Utilities\Countdown.cs" />
    <Compile Include="Framework\GameVersion.cs" />
    <Compile Include="Framework\IModMetadata.cs" />
    <Compile Include="Framework\ModHelpers\BaseHelper.cs" />
    <Compile Include="Framework\ModHelpers\CommandHelper.cs" />
    <Compile Include="Framework\ModHelpers\ContentHelper.cs" />
    <Compile Include="Framework\ModHelpers\ModHelper.cs" />
    <Compile Include="Framework\ModHelpers\ModRegistryHelper.cs" />
    <Compile Include="Framework\ModHelpers\ReflectionHelper.cs" />
    <Compile Include="Framework\ModHelpers\TranslationHelper.cs" />
    <Compile Include="Framework\ModLoading\InvalidModStateException.cs" />
    <Compile Include="Framework\ModLoading\ModDependencyStatus.cs" />
    <Compile Include="Framework\ModLoading\ModMetadataStatus.cs" />
    <Compile Include="Framework\ModLoading\ModResolver.cs" />
    <Compile Include="Framework\ModLoading\AssemblyDefinitionResolver.cs" />
    <Compile Include="Framework\ModLoading\AssemblyParseResult.cs" />
    <Compile Include="Framework\CommandManager.cs" />
    <Compile Include="Framework\Content\AssetData.cs" />
    <Compile Include="Framework\Content\AssetDataForObject.cs" />
    <Compile Include="Framework\Content\AssetDataForDictionary.cs" />
    <Compile Include="Framework\Content\AssetDataForImage.cs" />
    <Compile Include="Context.cs" />
    <Compile Include="Framework\Logging\ConsoleInterceptionManager.cs" />
    <Compile Include="Framework\Logging\InterceptingTextWriter.cs" />
    <Compile Include="Framework\Models\SConfig.cs" />
    <Compile Include="Framework\ModLoading\ModMetadata.cs" />
    <Compile Include="Framework\Reflection\ReflectedProperty.cs" />
    <Compile Include="Framework\RequestExitDelegate.cs" />
    <Compile Include="Framework\ContentCoordinator.cs" />
    <Compile Include="IAssetEditor.cs" />
    <Compile Include="IAssetInfo.cs" />
    <Compile Include="IAssetLoader.cs" />
    <Compile Include="ICommandHelper.cs" />
    <Compile Include="IAssetData.cs" />
    <Compile Include="IAssetDataForDictionary.cs" />
    <Compile Include="IAssetDataForImage.cs" />
    <Compile Include="IContentHelper.cs" />
    <Compile Include="IModRegistry.cs" />
    <Compile Include="Events\LocationEvents.cs" />
    <Compile Include="Events\MenuEvents.cs" />
    <Compile Include="Events\MineEvents.cs" />
    <Compile Include="Events\PlayerEvents.cs" />
    <Compile Include="Events\SaveEvents.cs" />
    <Compile Include="Events\TimeEvents.cs" />
    <Compile Include="Framework\DeprecationLevel.cs" />
    <Compile Include="Framework\DeprecationManager.cs" />
    <Compile Include="Framework\InternalExtensions.cs" />
    <Compile Include="Framework\ModLoading\AssemblyLoader.cs" />
    <Compile Include="Framework\Reflection\CacheEntry.cs" />
    <Compile Include="Framework\Reflection\ReflectedField.cs" />
    <Compile Include="Framework\Reflection\ReflectedMethod.cs" />
    <Compile Include="Framework\Reflection\Reflector.cs" />
    <Compile Include="IMod.cs" />
    <Compile Include="IModHelper.cs" />
    <Compile Include="IModLinked.cs" />
    <Compile Include="Framework\Logging\LogFileManager.cs" />
    <Compile Include="ITranslationHelper.cs" />
    <Compile Include="LogLevel.cs" />
    <Compile Include="Framework\ModRegistry.cs" />
    <Compile Include="IMonitor.cs" />
    <Compile Include="Events\ChangeType.cs" />
    <Compile Include="Events\ItemStackChange.cs" />
    <Compile Include="Framework\Monitor.cs" />
    <Compile Include="Metadata\InstructionMetadata.cs" />
    <Compile Include="Mod.cs" />
    <Compile Include="PatchMode.cs" />
    <Compile Include="GamePlatform.cs" />
    <Compile Include="Program.cs" />
    <Compile Include="Properties\AssemblyInfo.cs" />
    <Compile Include="Framework\SGame.cs" />
    <Compile Include="IReflectionHelper.cs" />
    <Compile Include="SemanticVersion.cs" />
    <Compile Include="Translation.cs" />
    <Compile Include="ICursorPosition.cs" />
    <Compile Include="Utilities\SDate.cs" />
    <Compile Include="SButton.cs" />
    <Compile Include="Framework\CursorPosition.cs" />
  </ItemGroup>
  <ItemGroup>
    <None Include="packages.config">
      <SubType>Designer</SubType>
    </None>
    <Content Include="StardewModdingAPI.config.json">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </Content>
    <Content Include="..\SMAPI.Web\wwwroot\StardewModdingAPI.metadata.json">
      <Link>StardewModdingAPI.metadata.json</Link>
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </Content>
  </ItemGroup>
  <ItemGroup>
    <Content Include="icon.ico" />
    <Content Include="steam_appid.txt">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </Content>
  </ItemGroup>
  <ItemGroup>
    <BootstrapperPackage Include=".NETFramework,Version=v4.5">
      <Visible>False</Visible>
      <ProductName>Microsoft .NET Framework 4.5 %28x86 and x64%29</ProductName>
      <Install>true</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>
  <ItemGroup>
    <Analyzer Include="..\SMAPI.ModBuildConfig.Analyzer\bin\netstandard1.3\StardewModdingAPI.ModBuildConfig.Analyzer.dll" />
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="..\StardewModdingAPI.Toolkit.CoreInterfaces\StardewModdingAPI.Toolkit.CoreInterfaces.csproj">
      <Project>{d5cfd923-37f1-4bc3-9be8-e506e202ac28}</Project>
      <Name>StardewModdingAPI.Toolkit.CoreInterfaces</Name>
    </ProjectReference>
    <ProjectReference Include="..\StardewModdingAPI.Toolkit\StardewModdingAPI.Toolkit.csproj">
      <Project>{ea5cfd2e-9453-4d29-b80f-8e0ea23f4ac6}</Project>
      <Name>StardewModdingAPI.Toolkit</Name>
    </ProjectReference>
  </ItemGroup>
  <Import Project="..\SMAPI.Internal\SMAPI.Internal.projitems" Label="Shared" />
  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
  <Import Project="..\..\build\common.targets" />
  <Import Project="..\packages\LargeAddressAware.1.0.3\build\LargeAddressAware.targets" Condition="Exists('..\packages\LargeAddressAware.1.0.3\build\LargeAddressAware.targets')" />
  <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
    <PropertyGroup>
      <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
    </PropertyGroup>
    <Error Condition="!Exists('..\packages\LargeAddressAware.1.0.3\build\LargeAddressAware.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\LargeAddressAware.1.0.3\build\LargeAddressAware.targets'))" />
  </Target>
</Project>