<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Import Project="..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.props" Condition="Exists('..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.props')" />
  <Import Project="..\packages\grpc.dependencies.openssl.redist.1.0.2.2\build\portable-net45\grpc.dependencies.openssl.redist.props" Condition="Exists('..\packages\grpc.dependencies.openssl.redist.1.0.2.2\build\portable-net45\grpc.dependencies.openssl.redist.props')" />
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <ProjectGuid>{CCC4440E-49F7-4790-B0AF-FEABB0837AE7}</ProjectGuid>
    <OutputType>Library</OutputType>
    <RootNamespace>Grpc.Core</RootNamespace>
    <AssemblyName>Grpc.Core</AssemblyName>
    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
    <NuGetPackageImportStamp>8bb563fb</NuGetPackageImportStamp>
    <DocumentationFile>bin\$(Configuration)\Grpc.Core.Xml</DocumentationFile>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>bin\Debug</OutputPath>
    <DefineConstants>DEBUG;</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <ConsolePause>false</ConsolePause>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugType>full</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\Release</OutputPath>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <ConsolePause>false</ConsolePause>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="System" />
    <Reference Include="System.Collections.Immutable">
      <HintPath>..\packages\Microsoft.Bcl.Immutable.1.0.34\lib\portable-net45+win8+wp8+wpa81\System.Collections.Immutable.dll</HintPath>
    </Reference>
    <Reference Include="System.Interactive.Async">
      <HintPath>..\packages\Ix-Async.1.2.3\lib\net45\System.Interactive.Async.dll</HintPath>
    </Reference>
  </ItemGroup>
  <ItemGroup>
    <Compile Include="AsyncDuplexStreamingCall.cs" />
    <Compile Include="AsyncServerStreamingCall.cs" />
    <Compile Include="IClientStreamWriter.cs" />
    <Compile Include="IServerStreamWriter.cs" />
    <Compile Include="IAsyncStreamWriter.cs" />
    <Compile Include="IAsyncStreamReader.cs" />
    <Compile Include="Internal\GrpcLog.cs" />
    <Compile Include="Properties\AssemblyInfo.cs" />
    <Compile Include="RpcException.cs" />
    <Compile Include="Calls.cs" />
    <Compile Include="Call.cs" />
    <Compile Include="AsyncClientStreamingCall.cs" />
    <Compile Include="GrpcEnvironment.cs" />
    <Compile Include="Status.cs" />
    <Compile Include="StatusCode.cs" />
    <Compile Include="Server.cs" />
    <Compile Include="Channel.cs" />
    <Compile Include="Internal\CallSafeHandle.cs" />
    <Compile Include="Internal\ChannelSafeHandle.cs" />
    <Compile Include="Internal\CompletionQueueSafeHandle.cs" />
    <Compile Include="Internal\Enums.cs" />
    <Compile Include="Internal\SafeHandleZeroIsInvalid.cs" />
    <Compile Include="Internal\Timespec.cs" />
    <Compile Include="Internal\GrpcThreadPool.cs" />
    <Compile Include="Internal\ServerSafeHandle.cs" />
    <Compile Include="Method.cs" />
    <Compile Include="Internal\ServerCallHandler.cs" />
    <Compile Include="Marshaller.cs" />
    <Compile Include="ServerServiceDefinition.cs" />
    <Compile Include="Utils\AsyncStreamExtensions.cs" />
    <Compile Include="Utils\BenchmarkUtil.cs" />
    <Compile Include="Utils\ExceptionHelper.cs" />
    <Compile Include="Internal\CredentialsSafeHandle.cs" />
    <Compile Include="Credentials.cs" />
    <Compile Include="Internal\ChannelArgsSafeHandle.cs" />
    <Compile Include="Internal\AsyncCompletion.cs" />
    <Compile Include="Internal\AsyncCallBase.cs" />
    <Compile Include="Internal\AsyncCallServer.cs" />
    <Compile Include="OperationFailedException.cs" />
    <Compile Include="Internal\AsyncCall.cs" />
    <Compile Include="Utils\Preconditions.cs" />
    <Compile Include="Internal\ServerCredentialsSafeHandle.cs" />
    <Compile Include="ServerCredentials.cs" />
    <Compile Include="Metadata.cs" />
    <Compile Include="Internal\MetadataArraySafeHandle.cs" />
    <Compile Include="Stub\AbstractStub.cs" />
    <Compile Include="Stub\StubConfiguration.cs" />
    <Compile Include="Internal\ServerCalls.cs" />
    <Compile Include="ServerMethods.cs" />
    <Compile Include="Internal\ClientRequestStream.cs" />
    <Compile Include="Internal\ClientResponseStream.cs" />
    <Compile Include="Internal\ServerRequestStream.cs" />
    <Compile Include="Internal\ServerResponseStream.cs" />
    <Compile Include="Internal\AtomicCounter.cs" />
    <Compile Include="Internal\DebugStats.cs" />
    <Compile Include="ServerCallContext.cs" />
    <Compile Include="Internal\CompletionQueueEvent.cs" />
    <Compile Include="Internal\CompletionRegistry.cs" />
    <Compile Include="Internal\BatchContextSafeHandle.cs" />
    <Compile Include="ChannelOptions.cs" />
  </ItemGroup>
  <ItemGroup>
    <None Include="packages.config" />
  </ItemGroup>
  <Choose>
    <!-- Under older versions of Monodevelop, Choose is not supported and is just
         ignored, which gives us the desired effect. -->
    <When Condition=" '$(OS)' != 'Unix' ">
      <ItemGroup>
        <Content Include="..\..\..\vsprojects\Debug\grpc_csharp_ext.dll">
          <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
        </Content>
      </ItemGroup>
    </When>
    <Otherwise />
  </Choose>
  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
  <ItemGroup />
  <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('..\packages\grpc.dependencies.openssl.redist.1.0.2.2\build\portable-net45\grpc.dependencies.openssl.redist.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.dependencies.openssl.redist.1.0.2.2\build\portable-net45\grpc.dependencies.openssl.redist.props'))" />
    <Error Condition="!Exists('..\packages\grpc.dependencies.openssl.redist.1.0.2.2\build\portable-net45\grpc.dependencies.openssl.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.dependencies.openssl.redist.1.0.2.2\build\portable-net45\grpc.dependencies.openssl.redist.targets'))" />
    <Error Condition="!Exists('..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.props'))" />
    <Error Condition="!Exists('..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.targets'))" />
  </Target>
  <Import Project="..\packages\grpc.dependencies.openssl.redist.1.0.2.2\build\portable-net45\grpc.dependencies.openssl.redist.targets" Condition="Exists('..\packages\grpc.dependencies.openssl.redist.1.0.2.2\build\portable-net45\grpc.dependencies.openssl.redist.targets')" />
  <Import Project="..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.targets" Condition="Exists('..\packages\grpc.dependencies.zlib.redist.1.2.8.9\build\portable-net45\grpc.dependencies.zlib.redist.targets')" />
</Project>
