<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build">
  <PropertyGroup>
    <ProjectGuid>{984CC812-9470-4A13-AFF9-CC44068D666C}</ProjectGuid>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <OutputType>Library</OutputType>
    <RootNamespace>ICSharpCode.Decompiler</RootNamespace>
    <AssemblyName>ICSharpCode.Decompiler</AssemblyName>
    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
    <TargetFrameworkProfile>
    </TargetFrameworkProfile>
    <AppDesignerFolder>Properties</AppDesignerFolder>
    <AllowUnsafeBlocks>False</AllowUnsafeBlocks>
    <NoStdLib>False</NoStdLib>
    <WarningLevel>4</WarningLevel>
    <TreatWarningsAsErrors>false</TreatWarningsAsErrors>
    <SignAssembly>True</SignAssembly>
    <AssemblyOriginatorKeyFile>..\NRefactory\ICSharpCode.NRefactory.snk</AssemblyOriginatorKeyFile>
    <DelaySign>False</DelaySign>
    <AssemblyOriginatorKeyMode>File</AssemblyOriginatorKeyMode>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Platform)' == 'AnyCPU' ">
    <PlatformTarget>AnyCPU</PlatformTarget>
    <RegisterForComInterop>False</RegisterForComInterop>
    <GenerateSerializationAssemblies>Auto</GenerateSerializationAssemblies>
    <BaseAddress>448462848</BaseAddress>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
    <OutputPath>bin\Debug\</OutputPath>
    <DebugSymbols>true</DebugSymbols>
    <DebugType>Full</DebugType>
    <Optimize>False</Optimize>
    <CheckForOverflowUnderflow>True</CheckForOverflowUnderflow>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
    <OutputPath>bin\Release\</OutputPath>
    <DebugSymbols>true</DebugSymbols>
    <DebugType>PdbOnly</DebugType>
    <Optimize>True</Optimize>
    <CheckForOverflowUnderflow>False</CheckForOverflowUnderflow>
    <DefineConstants>TRACE</DefineConstants>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
    <Prefer32Bit>false</Prefer32Bit>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
    <Prefer32Bit>false</Prefer32Bit>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="System" />
    <Reference Include="System.Collections.Immutable">
      <HintPath>..\packages\Microsoft.Bcl.Immutable.1.1.22-beta\lib\portable-net45+win8+wpa81\System.Collections.Immutable.dll</HintPath>
    </Reference>
    <Reference Include="System.Core">
      <RequiredTargetFramework>3.5</RequiredTargetFramework>
    </Reference>
    <Reference Include="System.Xml" />
    <Reference Include="System.Xml.Linq">
      <RequiredTargetFramework>3.5</RequiredTargetFramework>
    </Reference>
  </ItemGroup>
  <ItemGroup>
    <Compile Include="CSharp\Annotations.cs" />
    <Compile Include="CSharp\Transforms\IntroduceUsingDeclarations.cs" />
    <Compile Include="CSharp\Transforms\TransformContext.cs" />
    <Compile Include="CSharp\TranslatedExpression.cs" />
    <Compile Include="CSharp\CSharpDecompiler.cs" />
    <Compile Include="CSharp\ExpressionBuilder.cs" />
    <Compile Include="CSharp\NRefactoryExtensions.cs" />
    <Compile Include="CSharp\StatementBuilder.cs" />
    <Compile Include="CSharp\Transforms\AddCheckedBlocks.cs" />
    <Compile Include="CSharp\Transforms\ConvertConstructorCallIntoInitializer.cs" />
    <Compile Include="CSharp\Transforms\CustomPatterns.cs" />
    <Compile Include="CSharp\Transforms\IAstTransform.cs" />
    <Compile Include="CSharp\Transforms\IntroduceUnsafeModifier.cs" />
    <Compile Include="CSharp\Transforms\ReplaceMethodCallsWithOperators.cs" />
    <Compile Include="DecompilerTypeSystem.cs" />
    <Compile Include="IL\Instructions.cs">
      <AutoGen>True</AutoGen>
      <DesignTime>True</DesignTime>
      <DependentUpon>Instructions.tt</DependentUpon>
    </Compile>
    <Compile Include="IL\Instructions\BinaryComparisonInstruction.cs" />
    <Compile Include="IL\Instructions\BinaryNumericInstruction.cs" />
    <Compile Include="IL\Instructions\Block.cs" />
    <Compile Include="IL\Instructions\BlockContainer.cs" />
    <Compile Include="IL\Instructions\Branch.cs" />
    <Compile Include="IL\Instructions\CallInstruction.cs" />
    <Compile Include="IL\Instructions\Conv.cs" />
    <Compile Include="IL\Instructions\IfInstruction.cs" />
    <Compile Include="IL\Instructions\ILFunction.cs" />
    <Compile Include="IL\Instructions\ILInstruction.cs" />
    <Compile Include="IL\Instructions\InstructionCollection.cs" />
    <Compile Include="IL\Instructions\LocalVarInstructions.cs" />
    <Compile Include="IL\Instructions\MemoryInstructions.cs" />
    <Compile Include="IL\Instructions\PatternMatching.cs" />
    <Compile Include="IL\Instructions\Return.cs" />
    <Compile Include="IL\Instructions\SimpleInstruction.cs" />
    <Compile Include="IL\Instructions\TryInstruction.cs" />
    <Compile Include="IL\Instructions\UnaryInstruction.cs" />
    <Compile Include="IL\IInlineContext.cs" />
    <Compile Include="IL\NRTypeExtensions.cs" />
    <Compile Include="IL\TransformingVisitor.cs" />
    <Compile Include="TypesHierarchyHelpers.cs" />
    <Compile Include="CecilExtensions.cs" />
    <Compile Include="Disassembler\DisassemblerHelpers.cs" />
    <Compile Include="Disassembler\ILStructure.cs" />
    <Compile Include="Disassembler\MethodBodyDisassembler.cs" />
    <Compile Include="Disassembler\ReflectionDisassembler.cs" />
    <Compile Include="IL\SemanticHelper.cs" />
    <Compile Include="IL\BlockBuilder.cs" />
    <Compile Include="IL\ILOpCodes.cs">
      <AutoGen>True</AutoGen>
      <DesignTime>True</DesignTime>
      <DependentUpon>ILOpCodes.tt</DependentUpon>
    </Compile>
    <Compile Include="IL\ILReader.cs" />
    <Compile Include="IL\ILTypeExtensions.cs" />
    <Compile Include="IL\ILVariable.cs" />
    <Compile Include="IL\InstructionFlags.cs" />
    <Compile Include="IL\InstructionOutputExtensions.cs" />
    <Compile Include="IL\PrimitiveType.cs" />
    <Compile Include="IL\StackType.cs" />
    <Compile Include="Output\ITextOutput.cs" />
    <Compile Include="Output\PlainTextOutput.cs" />
    <Compile Include="Properties\AssemblyInfo.cs" />
    <Compile Include="Output\TextOutputWriter.cs" />
    <Compile Include="ReferenceResolvingException.cs" />
    <Compile Include="Util\Argument.cs" />
    <Compile Include="Util\CollectionExtensions.cs" />
    <Compile Include="Util\Interval.cs" />
    <None Include="IL\ILOpCodes.tt">
      <Generator>TextTemplatingFileGenerator</Generator>
      <LastGenOutput>ILOpCodes.cs</LastGenOutput>
    </None>
    <None Include="IL\Instructions.tt">
      <Generator>TextTemplatingFileGenerator</Generator>
      <LastGenOutput>Instructions.cs</LastGenOutput>
    </None>
    <None Include="packages.config" />
    <None Include="Properties\AssemblyInfo.template.cs" />
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="..\Mono.Cecil\Mono.Cecil.csproj">
      <Project>{D68133BD-1E63-496E-9EDE-4FBDBF77B486}</Project>
      <Name>Mono.Cecil</Name>
    </ProjectReference>
    <ProjectReference Include="..\NRefactory\ICSharpCode.NRefactory.Cecil\ICSharpCode.NRefactory.Cecil.csproj">
      <Project>{2b8f4f83-c2b3-4e84-a27b-8dee1be0e006}</Project>
      <Name>ICSharpCode.NRefactory.Cecil</Name>
    </ProjectReference>
    <ProjectReference Include="..\NRefactory\ICSharpCode.NRefactory.CSharp\ICSharpCode.NRefactory.CSharp.csproj">
      <Project>{53dca265-3c3c-42f9-b647-f72ba678122b}</Project>
      <Name>ICSharpCode.NRefactory.CSharp</Name>
    </ProjectReference>
    <ProjectReference Include="..\NRefactory\ICSharpCode.NRefactory\ICSharpCode.NRefactory.csproj">
      <Project>{3b2a5653-ec97-4001-bb9b-d90f1af2c371}</Project>
      <Name>ICSharpCode.NRefactory</Name>
    </ProjectReference>
  </ItemGroup>
  <ItemGroup>
    <Service Include="{508349B6-6B84-4DF5-91F0-309BEEBAD82D}" />
  </ItemGroup>
  <ItemGroup />
  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" />
  <Target Name="BeforeBuild">
    <MSBuild Projects="$(MSBuildProjectDirectory)\..\BuildTools\UpdateAssemblyInfo\UpdateAssemblyInfo.csproj" Targets="Build" Properties="Configuration=Debug" />
    <Exec WorkingDirectory="$(MSBuildProjectDirectory)\..\BuildTools\UpdateAssemblyInfo\bin\Debug" Command="UpdateAssemblyInfo.exe --branchname $(BranchName)" Timeout="60000" Condition=" '$(BranchName)' != '' " />
    <Exec WorkingDirectory="$(MSBuildProjectDirectory)\..\BuildTools\UpdateAssemblyInfo\bin\Debug" Command="UpdateAssemblyInfo.exe" Timeout="60000" Condition=" '$(BranchName)' == '' " />
  </Target>
</Project>