This repository has been archived by the owner on Jun 22, 2023. It is now read-only.
/
GeoAPI.csproj
161 lines (135 loc) · 9.72 KB
/
GeoAPI.csproj
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
<?xml version="1.0" encoding="utf-8"?>
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<SolutionDir Condition=" '$(SolutionDir)' == '' ">$(ProjectDir)..\..\</SolutionDir>
<TargetFrameworks>net20;net35-client;net35-cf;net40-client;net403-client;net45;netstandard1.0;netstandard2.0;portable40-net40+sl5+win8+wp8+wpa81;portable40-net403+sl5+win8+wp8+wpa81</TargetFrameworks>
<NoWarn>1591</NoWarn>
<OutputPath>$(SolutionDir)$(Configuration)\$(Platform)</OutputPath>
<DocumentationFile>$(OutputPath)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>$(SolutionDir)geoapi.snk</AssemblyOriginatorKeyFile>
</PropertyGroup>
<!-- Target CompactFramework 3.5 -->
<PropertyGroup Condition=" '$(TargetFramework)' == 'net35-cf'">
<TargetFrameworkIdentifier>.NETFramework</TargetFrameworkIdentifier>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<TargetFrameworkProfile>CompactFramework</TargetFrameworkProfile>
<FrameworkPathOverride>$(MSBuildProgramFiles32)\Microsoft.NET\SDK\CompactFramework\v3.5\WindowsCE</FrameworkPathOverride>
<RequiresFrameworkAssemblyReferences>true</RequiresFrameworkAssemblyReferences>
<DefineConstants>$(DefineConstants);WindowsCE</DefineConstants>
<DefineConstants>$(DefineConstants);HAS_SYSTEM_APPLICATIONEXCEPTION</DefineConstants>
<DefineConstants>$(DefineConstants);HAS_SYSTEM_ICLONEABLE</DefineConstants>
<DefineConstants>$(DefineConstants);HAS_SYSTEM_RUNTIME_INTEROPSERVICES_COMVISIBLEATTRIBUTE</DefineConstants>
<DefineConstants>$(DefineConstants);HAS_SYSTEM_RUNTIME_INTEROPSERVICES_GUIDATTRIBUTE</DefineConstants>
<DefineConstants>$(DefineConstants);HAS_SYSTEM_SERIALIZABLEATTRIBUTE</DefineConstants>
<DefineConstants>$(DefineConstants);HAS_SYSTEM_STRING_TOUPPER_CULTUREINFO</DefineConstants>
</PropertyGroup>
<!-- Client Profile frameworks don't have built-in shortcuts, so we need to specify these. -->
<PropertyGroup Condition=" '$(TargetFramework)' == 'net35-client' ">
<TargetFrameworkIdentifier>.NETFramework</TargetFrameworkIdentifier>
<TargetFrameworkProfile>Client</TargetFrameworkProfile>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(TargetFramework)' == 'net40-client' ">
<TargetFrameworkIdentifier>.NETFramework</TargetFrameworkIdentifier>
<TargetFrameworkProfile>Client</TargetFrameworkProfile>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(TargetFramework)' == 'net403-client' ">
<TargetFrameworkIdentifier>.NETFramework</TargetFrameworkIdentifier>
<TargetFrameworkProfile>Client</TargetFrameworkProfile>
<TargetFrameworkVersion>v4.0.3</TargetFrameworkVersion>
</PropertyGroup>
<!-- .NETStandard is the replacement for traditional / "old-style" PCLs, but
there are still some platforms not covered by even .NETStandard 1.0 that
we'd like to target, thus we still build some "old-style" PCLs. -->
<PropertyGroup Condition=" '$(TargetFramework)' == 'portable40-net40+sl5+win8+wp8+wpa81' ">
<TargetFrameworkIdentifier>.NETPortable</TargetFrameworkIdentifier>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkProfile>Profile328</TargetFrameworkProfile>
<RequiresFrameworkAssemblyReferences>true</RequiresFrameworkAssemblyReferences>
<DefineConstants>$(DefineConstants);PCL</DefineConstants>
<DefineConstants>$(DefineConstants);FEATURE_DEFAULT_PARAMETERS</DefineConstants>
<DefineConstants>$(DefineConstants);FEATURE_INTERFACE_VARIANCE</DefineConstants>
<DefineConstants>$(DefineConstants);HAS_SYSTEM_DOUBLE_TRYPARSE</DefineConstants>
<DefineConstants>$(DefineConstants);HAS_SYSTEM_STRING_TOUPPERINVARIANT</DefineConstants>
</PropertyGroup>
<!-- Profile328 does not support LINQ-to-XML. Weirdly, even though the only apparent difference
between Profile328 and Profile336 is .NET 4.0 vs. 4.0.3, the latter supports LINQ-to-XML,
whereas the former does not, even though LINQ-to-XML was added in .NET 3.5. So if we want
the PCL version of NetTopologySuite to support LINQ-to-XML, it needs to be on Profile336, so
it needs to have GeoAPI target Profile336. -->
<PropertyGroup Condition=" '$(TargetFramework)' == 'portable40-net403+sl5+win8+wp8+wpa81' ">
<TargetFrameworkIdentifier>.NETPortable</TargetFrameworkIdentifier>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkProfile>Profile336</TargetFrameworkProfile>
<RequiresFrameworkAssemblyReferences>true</RequiresFrameworkAssemblyReferences>
<DefineConstants>$(DefineConstants);PCL</DefineConstants>
<DefineConstants>$(DefineConstants);FEATURE_DEFAULT_PARAMETERS</DefineConstants>
<DefineConstants>$(DefineConstants);FEATURE_INTERFACE_VARIANCE</DefineConstants>
<DefineConstants>$(DefineConstants);HAS_SYSTEM_DOUBLE_TRYPARSE</DefineConstants>
<DefineConstants>$(DefineConstants);HAS_SYSTEM_STRING_TOUPPERINVARIANT</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(TargetFramework)' == 'net20' Or '$(TargetFramework)' == 'net35' Or '$(TargetFramework)' == 'net35-client' Or '$(TargetFramework)' == 'net40' Or '$(TargetFramework)' == 'net40-client' Or '$(TargetFramework)' == 'net403' Or '$(TargetFramework)' == 'net403-client' Or '$(TargetFramework)' == 'net45' ">
<RequiresFrameworkAssemblyReferences>true</RequiresFrameworkAssemblyReferences>
<DebugType>full</DebugType>
<!-- NetFX targets set GeometryServiceProvider.Instance using reflection if it's not explicitly
set externally before the first access. This is sketchy at best (it won't work if, e.g.,
someone tries this before the first thing loads NetTopologySuite into the AppDomain), so
other targets need to either explicitly bootstrap or just not use that global variable. -->
<DefineConstants>$(DefineConstants);COMPAT_BOOTSTRAP_USING_REFLECTION</DefineConstants>
<DefineConstants>$(DefineConstants);FEATURE_DEFAULT_PARAMETERS</DefineConstants>
<DefineConstants>$(DefineConstants);FEATURE_INTERFACE_VARIANCE</DefineConstants>
<DefineConstants>$(DefineConstants);HAS_SYSTEM_APPDOMAIN_GETASSEMBLIES</DefineConstants>
<DefineConstants>$(DefineConstants);HAS_SYSTEM_APPLICATIONEXCEPTION</DefineConstants>
<DefineConstants>$(DefineConstants);HAS_SYSTEM_DOUBLE_TRYPARSE</DefineConstants>
<DefineConstants>$(DefineConstants);HAS_SYSTEM_ICLONEABLE</DefineConstants>
<DefineConstants>$(DefineConstants);HAS_SYSTEM_REFLECTION_ASSEMBLY_GETEXPORTEDTYPES</DefineConstants>
<DefineConstants>$(DefineConstants);HAS_SYSTEM_RUNTIME_INTEROPSERVICES_COMVISIBLEATTRIBUTE</DefineConstants>
<DefineConstants>$(DefineConstants);HAS_SYSTEM_RUNTIME_INTEROPSERVICES_GUIDATTRIBUTE</DefineConstants>
<DefineConstants>$(DefineConstants);HAS_SYSTEM_SERIALIZABLEATTRIBUTE</DefineConstants>
<DefineConstants>$(DefineConstants);HAS_SYSTEM_STRING_TOUPPERINVARIANT</DefineConstants>
<DefineConstants>$(DefineConstants);HAS_SYSTEM_STRING_TOUPPER_CULTUREINFO</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(TargetFramework)' == 'netstandard1.0' ">
<DisableImplicitFrameworkReferences>true</DisableImplicitFrameworkReferences>
</PropertyGroup>
<PropertyGroup Condition=" '$(TargetFramework)' == 'netstandard1.0' Or '$(TargetFramework)' == 'netstandard2.0' ">
<DefineConstants>$(DefineConstants);FEATURE_DEFAULT_PARAMETERS</DefineConstants>
<DefineConstants>$(DefineConstants);FEATURE_INTERFACE_VARIANCE</DefineConstants>
<DefineConstants>$(DefineConstants);HAS_SYSTEM_DOUBLE_TRYPARSE</DefineConstants>
<DefineConstants>$(DefineConstants);HAS_SYSTEM_STRING_TOUPPERINVARIANT</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' ">
<DefineConstants>$(DefineConstants);HAS_SYSTEM_APPDOMAIN_GETASSEMBLIES</DefineConstants>
<DefineConstants>$(DefineConstants);HAS_SYSTEM_APPLICATIONEXCEPTION</DefineConstants>
<DefineConstants>$(DefineConstants);HAS_SYSTEM_ICLONEABLE</DefineConstants>
<DefineConstants>$(DefineConstants);HAS_SYSTEM_SERIALIZABLEATTRIBUTE</DefineConstants>
<DefineConstants>$(DefineConstants);HAS_SYSTEM_STRING_TOUPPER_CULTUREINFO</DefineConstants>
</PropertyGroup>
<ItemGroup Condition=" '$(RequiresFrameworkAssemblyReferences)' == 'true' ">
<Reference Include="System" />
<Reference Include="System.Core" Condition=" '$(TargetFramework)' != 'net20' " />
</ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'netstandard1.0' ">
<PackageReference Include="System.Collections" Version="4.3.0" />
<PackageReference Include="System.Diagnostics.Tools" Version="4.3.0" />
<PackageReference Include="System.Globalization" Version="4.3.0" />
<PackageReference Include="System.IO" Version="4.3.0" />
<PackageReference Include="System.Reflection" Version="4.3.0" />
<PackageReference Include="System.Runtime" Version="4.3.0" />
<PackageReference Include="System.Runtime.Extensions" Version="4.3.0" />
<PackageReference Include="System.Threading" Version="4.3.0" />
</ItemGroup>
<ItemGroup>
<Compile Include="$(SolutionDir)SharedAssemblyVersion.cs" Link="Properties\SharedAssemblyVersion.cs" />
</ItemGroup>
<ItemGroup>
<Content Include="License.txt" />
<None Include="$(SolutionDir)geoapi.snk" />
</ItemGroup>
<Target Name="CheckNet35CompactFramework" BeforeTargets="ResolveAssemblyReferences">
<Error Condition=" '$(TargetFramework)' == 'net35-cf' And !Exists('$(FrameworkPathOverride)\mscorlib.dll') " Text=".NET 3.5 Compact Framework reference assemblies must be installed. Expected to see $(FrameworkPathOverride)\mscorlib.dll." />
</Target>
</Project>