-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathJD.Efcpt.Build.Tasks.csproj
More file actions
90 lines (79 loc) · 3.63 KB
/
JD.Efcpt.Build.Tasks.csproj
File metadata and controls
90 lines (79 loc) · 3.63 KB
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
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<!-- Multi-target for Framework MSBuild (net472) and .NET Core MSBuild (net8.0+) -->
<TargetFrameworks>net472;net8.0;net9.0;net10.0</TargetFrameworks>
<IsPackable>false</IsPackable>
<AssemblyName>JD.Efcpt.Build.Tasks</AssemblyName>
<RootNamespace>JD.Efcpt.Build.Tasks</RootNamespace>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
<!-- Use latest C# for all targets; polyfills handle missing features on net472 -->
<LangVersion>latest</LangVersion>
<!-- Disable nullable and some warnings for net472 -->
<Nullable Condition="'$(TargetFramework)' == 'net472'">annotations</Nullable>
<NoWarn Condition="'$(TargetFramework)' == 'net472'">$(NoWarn);CS8632</NoWarn>
<!--
Enable dynamic loading to ensure the task assembly can load its dependencies
from its own directory, regardless of the MSBuild host's runtime.
-->
<EnableDynamicLoading>true</EnableDynamicLoading>
<!--
Generate a .deps.json file that describes the assembly's dependencies.
This is critical for MSBuild task loading in Visual Studio.
-->
<GenerateDependencyFile>true</GenerateDependencyFile>
</PropertyGroup>
<ItemGroup>
<!--
MSBuild packages: Use ExcludeAssets="runtime" to prevent copying to output.
These assemblies are provided by the MSBuild host (Visual Studio/dotnet).
-->
<PackageReference Include="Microsoft.Build.Framework" ExcludeAssets="runtime" />
<PackageReference Include="Microsoft.Build.Utilities.Core" ExcludeAssets="runtime" />
<PackageReference Include="PatternKit.Core" />
<PackageReference Include="System.IO.Hashing" />
</ItemGroup>
<!--
Database Provider Packages (build-time only, not runtime dependencies for consumers).
These packages work across all target frameworks.
-->
<ItemGroup>
<PackageReference Include="Microsoft.Data.SqlClient" VersionOverride="6.1.4" />
<PackageReference Include="MySqlConnector" />
<PackageReference Include="Microsoft.Data.Sqlite.Core" />
<PackageReference Include="FirebirdSql.Data.FirebirdClient" />
<PackageReference Include="Snowflake.Data" />
<!-- Override vulnerable AWSSDK.Core transitive dependency from Snowflake.Data -->
<PackageReference Include="AWSSDK.Core" VersionOverride="4.0.3.18" />
</ItemGroup>
<!--
Framework-specific database providers.
Npgsql 9.x dropped netstandard2.0; use 8.x for net472.
Oracle.ManagedDataAccess.Core is .NET Core only; use full framework package for net472.
-->
<ItemGroup Condition="'$(TargetFramework)' == 'net472'">
<PackageReference Include="Npgsql" VersionOverride="8.0.9" />
<PackageReference Include="Oracle.ManagedDataAccess" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)' != 'net472'">
<PackageReference Include="Npgsql" />
<PackageReference Include="Oracle.ManagedDataAccess.Core" />
</ItemGroup>
<!--
Polyfills for net472: provides IsExternalInit, init accessors, etc.
-->
<ItemGroup Condition="'$(TargetFramework)' == 'net472'">
<PackageReference Include="PolySharp">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
</ItemGroup>
<!--
Framework assemblies needed for net472.
System.IO.Compression is required for ZipArchive/ZipArchiveEntry.
-->
<ItemGroup Condition="'$(TargetFramework)' == 'net472'">
<Reference Include="System.IO.Compression" />
<Reference Include="System.IO.Compression.FileSystem" />
</ItemGroup>
</Project>