Repository navigation
Expand file tree
/
Copy pathDirectory.Build.props
More file actions
52 lines (47 loc) · 2.9 KB
/
Copy pathDirectory.Build.props
File metadata and controls
52 lines (47 loc) · 2.9 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
<Project>
<!--
The drawing compat layer is Majorsilence.Forms.Drawing (the Majorsilence.Forms /
Majorsilence.Forms.Drawing.Common packages), which ship net8.0/net10.0 only. net48 therefore
stays on the real System.Drawing (GDI+) - which is what it always did in plain Debug/Release
anyway, since net48 only builds on Windows. TargetFramework is a global property in the SDK's
per-TFM inner builds, so this correctly turns DRAWINGCOMPAT off for the net48 inner build alone.
DrawingCompat is the flag project files must test. Don't test DefineConstants with a substring
match: the SDK also defines the configuration name as a symbol, so in Release-DrawingCompat every
TFM - net48 included - gets RELEASE_DRAWINGCOMPAT, and $(DefineConstants.Contains(DRAWINGCOMPAT))
is therefore true even where DRAWINGCOMPAT itself is not defined.
-->
<PropertyGroup Condition="('$(Configuration)' == 'Release-DrawingCompat' Or '$(Configuration)' == 'Debug-DrawingCompat' Or '$(OS)' != 'Windows_NT') And '$(TargetFramework)' != 'net48'">
<DrawingCompat>true</DrawingCompat>
<DefineConstants>DRAWINGCOMPAT</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Release-DrawingCompat' Or '$(Configuration)' == 'Release'">
<Optimize>True</Optimize>
</PropertyGroup>
<PropertyGroup>
<Deterministic>true</Deterministic>
<GenerateAssemblyInfo>true</GenerateAssemblyInfo>
<RepositoryUrl>https://github.com/majorsilence/My-FyiReporting</RepositoryUrl>
<!-- year.release.build, don't increase AssemblyVersion release.build except for when year is increased -->
<AssemblyVersion>26.0.0</AssemblyVersion>
<!-- year.release.build, increase release.build for each release in the same year -->
<FileVersion>26.0.6</FileVersion>
<Version>26.0.6</Version>
<GenerateAssemblyInfo>true</GenerateAssemblyInfo>
<Product>Majorsilence Reporting</Product>
<Copyright>Copyright © 2004-2008 fyiReporting Software, LLC, Majorsilence Reporting Devs 2026</Copyright>
<LangVersion>latest</LangVersion>
<PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
</PropertyGroup>
<!-- Don't let AOT publish properties flow into referenced libraries. Passing -p:PublishAot=true on
the command line otherwise propagates it as a global property to the multi-targeting library
references (DataProviders, RdlCri, RdlEngine), which breaks their target-framework resolution
("cannot be referenced by a project that targets .NETCoreApp,Version=v10.0"). Only the entry
executable needs to be AOT-compiled; the libraries just need to be AOT-compatible. -->
<ItemDefinitionGroup>
<ProjectReference>
<UndefineProperties>%(UndefineProperties);PublishAot</UndefineProperties>
</ProjectReference>
</ItemDefinitionGroup>
</Project>