86 lines
4.5 KiB
XML
86 lines
4.5 KiB
XML
<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> |