1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- <Project Sdk="MSBuild.Sdk.Extras">
- <PropertyGroup>
- <AssemblyName>protobuf-net</AssemblyName>
- <Title>protobuf-net</Title>
- <Description>Provides simple access to fast and efficient "Protocol Buffers" serialization from .NET applications</Description>
- <TargetFrameworks>net20;net35;net452;netstandard2.0;netcoreapp3.1</TargetFrameworks>
- <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
- <DefineConstants>EMIT_ASSEMBLY_INFO</DefineConstants>
- <!-- new build tools spit these out -->
- <GeneratePackageOnBuild>True</GeneratePackageOnBuild>
- <!-- this is how we will configure the builds relatively cleanly -->
- <ImportLibs>net</ImportLibs>
- <FeatureCompiler>true</FeatureCompiler>
- <FeatureServiceModel>true</FeatureServiceModel>
- <FeatureServiceModelConfiguration>true</FeatureServiceModelConfiguration>
- <PlatformXmlSerializer>true</PlatformXmlSerializer>
- <PlatformBinaryFormatter>true</PlatformBinaryFormatter>
- <Configurations>Debug;Release;VS</Configurations>
- </PropertyGroup>
- <!-- define configuration per-platform -->
- <PropertyGroup Condition="'$(TargetFramework)' == 'net20'">
- <FeatureServiceModel>false</FeatureServiceModel>
- </PropertyGroup>
- <PropertyGroup Condition="'$(TargetFramework)' == 'uap10.0'">
- <FeatureServiceModel>false</FeatureServiceModel>
- <FeatureServiceModelConfiguration>false</FeatureServiceModelConfiguration>
- <FeatureCompiler>false</FeatureCompiler>
- <PlatformBinaryFormatter>false</PlatformBinaryFormatter>
- <DefineConstants>$(DefineConstants);COREFX;UAP</DefineConstants>
- </PropertyGroup>
- <PropertyGroup Condition="'$(TargetFramework)' == 'netstandard2.0'">
- <DefineConstants>$(DefineConstants);COREFX</DefineConstants>
- <ImportLibs>standard</ImportLibs>
- <FeatureServiceModel>true</FeatureServiceModel>
- <FeatureServiceModelConfiguration>false</FeatureServiceModelConfiguration>
- </PropertyGroup>
- <PropertyGroup Condition="'$(TargetFramework)' == 'netcoreapp3.1'">
- <DefineConstants>$(DefineConstants);COREFX</DefineConstants>
- <ImportLibs>none</ImportLibs>
- <FeatureServiceModel>true</FeatureServiceModel>
- <FeatureServiceModelConfiguration>false</FeatureServiceModelConfiguration>
- </PropertyGroup>
- <!-- apply the configuration options (typical via defines that switch code flows) -->
- <PropertyGroup Condition="'$(FeatureCompiler)' == 'true'">
- <DefineConstants>$(DefineConstants);FEAT_COMPILER</DefineConstants>
- </PropertyGroup>
- <PropertyGroup Condition="'$(FeatureServiceModel)' == 'true'">
- <DefineConstants>$(DefineConstants);FEAT_SERVICEMODEL</DefineConstants>
- </PropertyGroup>
- <PropertyGroup Condition="'$(FeatureServiceModelConfiguration)' == 'true'">
- <DefineConstants>$(DefineConstants);FEAT_SERVICECONFIGMODEL</DefineConstants>
- </PropertyGroup>
- <PropertyGroup Condition="'$(PlatformXmlSerializer)' == 'true'">
- <DefineConstants>$(DefineConstants);PLAT_XMLSERIALIZER</DefineConstants>
- </PropertyGroup>
- <PropertyGroup Condition="'$(PlatformBinaryFormatter)' == 'true'">
- <DefineConstants>$(DefineConstants);PLAT_BINARYFORMATTER</DefineConstants>
- </PropertyGroup>
- <ItemGroup Condition="'$(ImportLibs)|$(FeatureServiceModel)' == 'net|true'">
- <Reference Include="System.ServiceModel" />
- <Reference Include="System.Configuration" />
- <Reference Include="System.Runtime.Serialization" />
- </ItemGroup>
- <ItemGroup Condition="'$(ImportLibs)' == 'standard' and '$(FeatureCompiler)' == 'true'">
- <PackageReference Include="System.Reflection.Emit" Version="4.3.0" />
- <PackageReference Include="System.Reflection.Emit.Lightweight" Version="4.3.0" />
- </ItemGroup>
- <ItemGroup Condition="'$(ImportLibs)' == 'none' and '$(FeatureServiceModel)' == 'true'">
- <PackageReference Include="System.ServiceModel.Primitives" Version="4.5.3" />
- </ItemGroup>
- <ItemGroup Condition="'$(ImportLibs)' == 'standard' and '$(FeatureServiceModel)' == 'true'">
- <PackageReference Include="System.ServiceModel.Primitives" Version="4.5.3" />
- </ItemGroup>
- <ItemGroup Condition="'$(ImportLibs)' == 'standard'">
- <PackageReference Include="System.Reflection.TypeExtensions" Version="4.4.0" />
- <PackageReference Include="System.Xml.XmlSerializer" Version="4.3.0" />
- </ItemGroup>
- <ItemGroup>
- <PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.2">
- <PrivateAssets>all</PrivateAssets>
- <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
- </PackageReference>
- </ItemGroup>
- </Project>
|