<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Import Project="$(SolutionDir)\packages\GitLink.3.1.0\build\GitLink.props" Condition="Exists('$(SolutionDir)\packages\GitLink.3.1.0\build\GitLink.props')" />
  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <ProjectGuid>{E4E962AE-7056-4EB0-A8C5-8DC824A4B068}</ProjectGuid>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>Properties</AppDesignerFolder>
    <RootNamespace>VW</RootNamespace>
    <AssemblyName>VowpalWabbit</AssemblyName>
    <TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
    <FileAlignment>512</FileAlignment>
    <RestorePackages>true</RestorePackages>
    <TargetFrameworkProfile>
    </TargetFrameworkProfile>
    <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\vowpalwabbit\</SolutionDir>
    <CodeContractsAssemblyMode>0</CodeContractsAssemblyMode>
    <NuGetPackageImportStamp>
    </NuGetPackageImportStamp>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
    <DebugSymbols>true</DebugSymbols>
    <OutputPath>$(SolutionDir)\x64\Debug\</OutputPath>
    <DefineConstants>TRACE;DEBUG</DefineConstants>
    <DebugType>full</DebugType>
    <PlatformTarget>x64</PlatformTarget>
    <ErrorReport>prompt</ErrorReport>
    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
    <DocumentationFile>..\..\vowpalwabbit\x64\Debug\VowpalWabbit.XML</DocumentationFile>
    <CodeContractsEnableRuntimeChecking>True</CodeContractsEnableRuntimeChecking>
    <CodeContractsRuntimeOnlyPublicSurface>False</CodeContractsRuntimeOnlyPublicSurface>
    <CodeContractsRuntimeThrowOnFailure>True</CodeContractsRuntimeThrowOnFailure>
    <CodeContractsRuntimeCallSiteRequires>False</CodeContractsRuntimeCallSiteRequires>
    <CodeContractsRuntimeSkipQuantifiers>False</CodeContractsRuntimeSkipQuantifiers>
    <CodeContractsRunCodeAnalysis>True</CodeContractsRunCodeAnalysis>
    <CodeContractsNonNullObligations>True</CodeContractsNonNullObligations>
    <CodeContractsBoundsObligations>True</CodeContractsBoundsObligations>
    <CodeContractsArithmeticObligations>True</CodeContractsArithmeticObligations>
    <CodeContractsEnumObligations>True</CodeContractsEnumObligations>
    <CodeContractsRedundantAssumptions>True</CodeContractsRedundantAssumptions>
    <CodeContractsAssertsToContractsCheckBox>True</CodeContractsAssertsToContractsCheckBox>
    <CodeContractsRedundantTests>True</CodeContractsRedundantTests>
    <CodeContractsMissingPublicRequiresAsWarnings>True</CodeContractsMissingPublicRequiresAsWarnings>
    <CodeContractsMissingPublicEnsuresAsWarnings>False</CodeContractsMissingPublicEnsuresAsWarnings>
    <CodeContractsInferRequires>True</CodeContractsInferRequires>
    <CodeContractsInferEnsures>False</CodeContractsInferEnsures>
    <CodeContractsInferEnsuresAutoProperties>True</CodeContractsInferEnsuresAutoProperties>
    <CodeContractsInferObjectInvariants>False</CodeContractsInferObjectInvariants>
    <CodeContractsSuggestAssumptions>False</CodeContractsSuggestAssumptions>
    <CodeContractsSuggestAssumptionsForCallees>False</CodeContractsSuggestAssumptionsForCallees>
    <CodeContractsSuggestRequires>False</CodeContractsSuggestRequires>
    <CodeContractsNecessaryEnsures>True</CodeContractsNecessaryEnsures>
    <CodeContractsSuggestObjectInvariants>False</CodeContractsSuggestObjectInvariants>
    <CodeContractsSuggestReadonly>True</CodeContractsSuggestReadonly>
    <CodeContractsRunInBackground>True</CodeContractsRunInBackground>
    <CodeContractsShowSquigglies>True</CodeContractsShowSquigglies>
    <CodeContractsUseBaseLine>False</CodeContractsUseBaseLine>
    <CodeContractsEmitXMLDocs>False</CodeContractsEmitXMLDocs>
    <CodeContractsCustomRewriterAssembly />
    <CodeContractsCustomRewriterClass />
    <CodeContractsLibPaths />
    <CodeContractsExtraRewriteOptions />
    <CodeContractsExtraAnalysisOptions />
    <CodeContractsSQLServerOption />
    <CodeContractsBaseLineFile />
    <CodeContractsCacheAnalysisResults>True</CodeContractsCacheAnalysisResults>
    <CodeContractsSkipAnalysisIfCannotConnectToCache>False</CodeContractsSkipAnalysisIfCannotConnectToCache>
    <CodeContractsFailBuildOnWarnings>False</CodeContractsFailBuildOnWarnings>
    <CodeContractsBeingOptimisticOnExternal>True</CodeContractsBeingOptimisticOnExternal>
    <CodeContractsRuntimeCheckingLevel>Full</CodeContractsRuntimeCheckingLevel>
    <CodeContractsReferenceAssembly>%28none%29</CodeContractsReferenceAssembly>
    <CodeContractsAnalysisWarningLevel>0</CodeContractsAnalysisWarningLevel>
    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
    <OutputPath>$(SolutionDir)\x64\Release\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <Optimize>true</Optimize>
    <DebugType>pdbonly</DebugType>
    <PlatformTarget>x64</PlatformTarget>
    <ErrorReport>prompt</ErrorReport>
    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
    <DocumentationFile>..\..\vowpalwabbit\x64\Release\VowpalWabbit.XML</DocumentationFile>
    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
  </PropertyGroup>
  <PropertyGroup>
    <SignAssembly>true</SignAssembly>
  </PropertyGroup>
  <PropertyGroup>
    <AssemblyOriginatorKeyFile>..\vw_key.snk</AssemblyOriginatorKeyFile>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'DebugLeakCheck|x64'">
    <DebugSymbols>true</DebugSymbols>
    <OutputPath>$(SolutionDir)\x64\DebugLeakCheck\</OutputPath>
    <DefineConstants>TRACE;DEBUG</DefineConstants>
    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
    <DocumentationFile>$(SolutionDir)\x64\DebugLeakCheck\VowpalWabbit.XML</DocumentationFile>
    <DebugType>full</DebugType>
    <PlatformTarget>x64</PlatformTarget>
    <ErrorReport>prompt</ErrorReport>
    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="System" />
    <Reference Include="System.Core" />
    <Reference Include="System.Web" />
    <Reference Include="System.Xml.Linq" />
    <Reference Include="System.Data.DataSetExtensions" />
    <Reference Include="Microsoft.CSharp" />
    <Reference Include="System.Data" />
    <Reference Include="System.Xml" />
  </ItemGroup>
  <ItemGroup>
    <Compile Include="ActionDependentFeature.cs" />
    <Compile Include="Extensions.cs" />
    <Compile Include="ObjectFactory.cs" />
    <Compile Include="PooledObject.cs" />
    <Compile Include="Properties\AssemblyInfo.cs" />
    <Compile Include="Properties\AssemblyInfoInternal.cs" />
    <Compile Include="Serializer\Attributes\CacheableAttribute.cs" />
    <Compile Include="Serializer\Attributes\FeatureAttribute.cs" />
    <Compile Include="Serializer\AnnotationInspector.cs" />
    <Compile Include="Serializer\Attributes\LabelAttribute.cs" />
    <Compile Include="Serializer\ConfigInspector.cs" />
    <Compile Include="Serializer\Intermediate\EnumerizedFeature.cs" />
    <Compile Include="Serializer\Intermediate\Feature.cs" />
    <Compile Include="Serializer\Intermediate\Namespace.cs" />
    <Compile Include="Serializer\Intermediate\PreHashedFeature.cs" />
    <Compile Include="Serializer\IVowpalWabbitConverter.cs" />
    <Compile Include="Serializer\IVowpalWabbitMultiExampleSerializerCompiler.cs" />
    <Compile Include="Serializer\IVowpalWabbitSerializer.cs" />
    <Compile Include="Serializer\VowpalWabbitConstants.cs" />
    <Compile Include="Serializer\VowpalWabbitDefaultMarshaller.cs" />
    <Compile Include="Serializer\VowpalWabbitDefaultMarshallerExt.cs">
      <AutoGen>True</AutoGen>
      <DesignTime>True</DesignTime>
      <DependentUpon>VowpalWabbitDefaultMarshallerExt.tt</DependentUpon>
    </Compile>
    <Compile Include="Serializer\VowpalWabbitMarshalContext.cs" />
    <Compile Include="Serializer\VowpalWabbitMultiExampleSerializer.cs" />
    <Compile Include="Serializer\VowpalWabbitMultiExampleSerializerCompiler.cs" />
    <Compile Include="Serializer\VowpalWabbitSingleExampleSerializer.cs" />
    <Compile Include="Serializer\IVowpalWabbitSerializerCompiler.cs" />
    <Compile Include="Serializer\VowpalWabbitSerializerFactory.cs" />
    <Compile Include="Serializer\VowpalWabbitSingleExampleSerializerCompiler.cs" />
    <Compile Include="VowpalWabbit.cs" />
    <Compile Include="ObjectPool.cs" />
    <Compile Include="VowpalWabbitDynamic.cs" />
    <Compile Include="VowpalWabbitExampleCollection.cs" />
    <Compile Include="VowpalWabbitMultiLineExampleCollection.cs" />
    <Compile Include="VowpalWabbitMultiworldTesting.cs" />
    <Compile Include="VowpalWabbitSerializationException.cs" />
    <Compile Include="VowpalWabbitSingleLineExampleCollection.cs" />
    <Compile Include="VowpalWabbitSweep.cs" />
    <Compile Include="VowpalWabbitThreadedPrediction.cs" />
    <Compile Include="VowpalWabbitMultiLine.cs" />
    <Compile Include="VowpalWabbitThreadedPredictionBase.cs" />
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="..\cli\vw_clr.vcxproj">
      <Project>{85e55ae0-3784-4968-9271-c81af560e1c1}</Project>
      <Name>vw_clr</Name>
    </ProjectReference>
    <ProjectReference Include="..\common\vw_common.csproj">
      <Project>{e621e022-c1f8-433f-905a-ab9a3de072b7}</Project>
      <Name>vw_common</Name>
    </ProjectReference>
  </ItemGroup>
  <ItemGroup>
    <None Include="..\vw_key.snk" />
    <None Include="packages.config">
      <SubType>Designer</SubType>
    </None>
  </ItemGroup>
  <ItemGroup>
    <Service Include="{508349B6-6B84-4DF5-91F0-309BEEBAD82D}" />
  </ItemGroup>
  <ItemGroup />
  <ItemGroup>
    <None Include="Serializer\VowpalWabbitDefaultMarshallerExt.tt">
      <Generator>TextTemplatingFileGenerator</Generator>
      <LastGenOutput>VowpalWabbitDefaultMarshallerExt.cs</LastGenOutput>
    </None>
  </ItemGroup>
  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
  <Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
  <Import Project="$(ProjectDir)\..\version.props" />
  <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
    <PropertyGroup>
      <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable 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('$(SolutionDir)\packages\Clarius.TransformOnBuild.1.1.12\build\Clarius.TransformOnBuild.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\packages\Clarius.TransformOnBuild.1.1.12\build\Clarius.TransformOnBuild.targets'))" />
    <Error Condition="!Exists('$(SolutionDir)\packages\GitLink.3.1.0\build\GitLink.props')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\packages\GitLink.3.1.0\build\GitLink.props'))" />
    <Error Condition="!Exists('$(SolutionDir)\packages\GitLink.3.1.0\build\GitLink.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\packages\GitLink.3.1.0\build\GitLink.targets'))" />
    <Error Condition="!Exists('$(SolutionDir)\packages\MSBuildTasks.1.5.0.235\build\MSBuildTasks.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\packages\MSBuildTasks.1.5.0.235\build\MSBuildTasks.targets'))" />
  </Target>
  <!-- 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">
    <AssemblyInfo CodeLanguage="CS" OutputFile="$(MSBuildProjectDirectory)\Properties\AssemblyInfo.cs" AssemblyTitle="Vowpal Wabbit" AssemblyDescription="Vowpal Wabbit" AssemblyConfiguration="" AssemblyCompany="Microsoft Corp" AssemblyProduct="Vowpal Wabbit" AssemblyCopyright="Copyright (C) Microsoft Corp 2012-2016, Yahoo! Inc. 2007-2012, and many individual contributors. All rights reserved" AssemblyTrademark="" ComVisible="false" CLSCompliant="false" Guid="6a577997-af00-4ca0-8453-fdc8bbdf2a57" AssemblyVersion="$(VowpalWabbitAssemblyVersion)" AssemblyFileVersion="$(VowpalWabbitAssemblyVersion)" />
  </Target>
  <Target Name="AfterBuild">
    <Exec Command="$(SolutionDir)\.nuget\nuget pack $(ProjectDir)\$(ProjectName).nuspec -Version $(VowpalWabbitAssemblyVersion) -Prop &quot;Configuration=Release;Platform=x64&quot; -Prop SolutionDir=$(SolutionDir) -OutputDirectory $(SolutionDir)\$(Platform)\$(Configuration)" Condition="'$(BuildNuget)' == 'true'" />
  </Target>
  <Import Project="$(SolutionDir)\packages\Clarius.TransformOnBuild.1.1.12\build\Clarius.TransformOnBuild.targets" Condition="Exists('$(SolutionDir)\packages\Clarius.TransformOnBuild.1.1.12\build\Clarius.TransformOnBuild.targets')" />
  <Import Project="$(SolutionDir)\packages\GitLink.3.1.0\build\GitLink.targets" Condition="Exists('$(SolutionDir)\packages\GitLink.3.1.0\build\GitLink.targets')" />
  <Import Project="$(SolutionDir)\packages\MSBuildTasks.1.5.0.235\build\MSBuildTasks.targets" Condition="Exists('$(SolutionDir)\packages\MSBuildTasks.1.5.0.235\build\MSBuildTasks.targets')" />
</Project>
