<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <ProductVersion>9.0.30729</ProductVersion>
    <SchemaVersion>2.0</SchemaVersion>
    <ProjectGuid>{DD01ED24-3750-4567-9A23-1DB676A15610}</ProjectGuid>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>Properties</AppDesignerFolder>
    <RootNamespace>Google.Protobuf</RootNamespace>
    <AssemblyName>Google.Protobuf.Test</AssemblyName>
    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
    <FileAlignment>512</FileAlignment>
    <SignAssembly>true</SignAssembly>
    <AssemblyOriginatorKeyFile>..\..\keys\Google.Protobuf.snk</AssemblyOriginatorKeyFile>
    <OldToolsVersion>3.5</OldToolsVersion>
    <TargetFrameworkProfile>
    </TargetFrameworkProfile>
    <NuGetPackageImportStamp>
    </NuGetPackageImportStamp>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>bin\Debug</OutputPath>
    <IntermediateOutputPath>obj\Debug\</IntermediateOutputPath>
    <DefineConstants>DEBUG;TRACE;$(EnvironmentFlavor);$(EnvironmentTemplate)</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <NoStdLib>true</NoStdLib>
    <GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
    <Prefer32Bit>false</Prefer32Bit>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\Release</OutputPath>
    <IntermediateOutputPath>obj\Release\</IntermediateOutputPath>
    <DefineConstants>TRACE;$(EnvironmentFlavor);$(EnvironmentTemplate)</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <NoStdLib>true</NoStdLib>
    <GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
    <Prefer32Bit>false</Prefer32Bit>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="mscorlib" />
    <Reference Include="nunit.core, Version=2.6.4.14350, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
      <HintPath>..\packages\NUnitTestAdapter.2.0.0\lib\nunit.core.dll</HintPath>
      <Private>True</Private>
    </Reference>
    <Reference Include="nunit.core.interfaces, Version=2.6.4.14350, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
      <HintPath>..\packages\NUnitTestAdapter.2.0.0\lib\nunit.core.interfaces.dll</HintPath>
      <Private>True</Private>
    </Reference>
    <Reference Include="nunit.framework, Version=2.6.4.14350, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
      <HintPath>..\packages\NUnit.2.6.4\lib\nunit.framework.dll</HintPath>
      <Private>True</Private>
    </Reference>
    <Reference Include="nunit.util, Version=2.6.4.14350, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
      <HintPath>..\packages\NUnitTestAdapter.2.0.0\lib\nunit.util.dll</HintPath>
      <Private>True</Private>
    </Reference>
    <Reference Include="NUnit.VisualStudio.TestAdapter, Version=2.0.0.0, Culture=neutral, PublicKeyToken=4cb40d35494691ac, processorArchitecture=MSIL">
      <HintPath>..\packages\NUnitTestAdapter.2.0.0\lib\NUnit.VisualStudio.TestAdapter.dll</HintPath>
      <Private>True</Private>
    </Reference>
    <Reference Include="System" />
    <Reference Include="System.Xml" />
  </ItemGroup>
  <ItemGroup>
    <Compile Include="ByteStringTest.cs" />
    <Compile Include="CodedInputStreamExtensions.cs" />
    <Compile Include="CodedInputStreamTest.cs" />
    <Compile Include="CodedOutputStreamTest.cs" />
    <Compile Include="EqualityTester.cs" />
    <Compile Include="FieldCodecTest.cs" />
    <Compile Include="GeneratedMessageTest.cs" />
    <Compile Include="Collections\MapFieldTest.cs" />
    <Compile Include="Collections\RepeatedFieldTest.cs" />
    <Compile Include="JsonFormatterTest.cs" />
    <Compile Include="Reflection\DescriptorsTest.cs" />
    <Compile Include="SampleEnum.cs" />
    <Compile Include="SampleMessages.cs" />
    <Compile Include="TestProtos\MapUnittestProto3.cs" />
    <Compile Include="TestProtos\UnittestImportProto3.cs" />
    <Compile Include="TestProtos\UnittestImportPublicProto3.cs" />
    <Compile Include="TestProtos\UnittestIssues.cs" />
    <Compile Include="TestProtos\UnittestProto3.cs" />
    <Compile Include="DeprecatedMemberTest.cs" />
    <Compile Include="IssuesTest.cs" />
    <Compile Include="Properties\AssemblyInfo.cs" />
    <Compile Include="TestCornerCases.cs" />
    <Compile Include="TestProtos\UnittestWellKnownTypes.cs" />
    <Compile Include="WellKnownTypes\WrappersTest.cs" />
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="..\Google.Protobuf\Google.Protobuf.csproj">
      <Project>{6908BDCE-D925-43F3-94AC-A531E6DF2591}</Project>
      <Name>Google.Protobuf</Name>
    </ProjectReference>
  </ItemGroup>
  <ItemGroup>
    <None Include="packages.config" />
  </ItemGroup>
  <ItemGroup>
    <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
  </ItemGroup>
  <ItemGroup />
  <Import Project="$(MSBuildToolsPath)\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>
  <Target Name="AfterBuild">
  </Target>
  -->
</Project>