<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <Description>C# runtime library for Protocol Buffers - Google's data interchange format.</Description>
    <Copyright>Copyright 2015, Google Inc.</Copyright>
    <AssemblyTitle>Google Protocol Buffers</AssemblyTitle>
    <VersionPrefix>3.11.4</VersionPrefix>
    <LangVersion>6</LangVersion>
    <Authors>Google Inc.</Authors>
    <TargetFrameworks>netstandard1.0;netstandard2.0;net45</TargetFrameworks>
    <GenerateDocumentationFile>true</GenerateDocumentationFile>
    <AssemblyOriginatorKeyFile>../../keys/Google.Protobuf.snk</AssemblyOriginatorKeyFile>
    <SignAssembly>true</SignAssembly>
    <PublicSign Condition=" '$(OS)' != 'Windows_NT' ">true</PublicSign>
    <PackageTags>Protocol;Buffers;Binary;Serialization;Format;Google;proto;proto3</PackageTags>
    <PackageReleaseNotes>C# proto3 support</PackageReleaseNotes>
    <PackageProjectUrl>https://github.com/protocolbuffers/protobuf</PackageProjectUrl>
    <PackageLicenseUrl>https://github.com/protocolbuffers/protobuf/blob/master/LICENSE</PackageLicenseUrl>
    <RepositoryType>git</RepositoryType>
    <RepositoryUrl>https://github.com/protocolbuffers/protobuf.git</RepositoryUrl>
    <!-- Include PDB in the built .nupkg -->
    <AllowedOutputExtensionsInPackageBuildOutputFolder>$(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb</AllowedOutputExtensionsInPackageBuildOutputFolder>
  </PropertyGroup>

  <PropertyGroup Condition=" '$(TargetFramework)' == 'net45' or '$(TargetFramework)' == 'netstandard2.0' ">
    <DefineConstants>$(DefineConstants);GOOGLE_PROTOBUF_SUPPORT_SYSTEM_MEMORY</DefineConstants>
  </PropertyGroup>

  <!-- Needed for the net45 build to work on Unix. See https://github.com/dotnet/designs/pull/33 -->
  <ItemGroup>
    <PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" PrivateAssets="All" Version="1.0.0-preview.2"/>
  </ItemGroup>

  <ItemGroup Condition=" '$(TargetFramework)' == 'net45' or '$(TargetFramework)' == 'netstandard2.0' ">
    <PackageReference Include="System.Memory" Version="4.5.2"/>
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.SourceLink.GitHub" PrivateAssets="All" Version="1.0.0-beta2-18618-05"/>
  </ItemGroup>

</Project>
