Files
sbroenne__mcp-server-excel/Directory.Build.props
T
Stefan Broenner 3022b60a21 perf: COM interop optimizations and resilience improvements (#317)
perf: COM interop optimizations and resilience improvements

- Modernize COM interop to use .NET 8 source generation
- Add exponential backoff to OLE message filter
- Add Polly resilience pipelines for Power Query (0x800A03EC) and Data Model (0x800AC472) operations
- Update .NET dependencies to latest versions

Fixes #315, #316
2025-12-16 17:46:48 +00:00

64 lines
2.6 KiB
XML

<Project>
<PropertyGroup>
<!-- Common properties for all projects -->
<Version>1.0.0</Version>
<AssemblyVersion>1.0.0.0</AssemblyVersion>
<FileVersion>1.0.0.0</FileVersion>
<Authors>Stefan Broenner</Authors>
<Company>Open Source Developer</Company>
<Product>Sbroenne.ExcelMcp</Product>
<Copyright>Copyright © 2025 Stefan Broenner</Copyright>
<!-- Repository information -->
<PackageProjectUrl>https://github.com/sbroenne/mcp-server-excel</PackageProjectUrl>
<RepositoryUrl>https://github.com/sbroenne/mcp-server-excel</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<PackageLicenseFile>LICENSE</PackageLicenseFile>
<!-- Build settings -->
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<LangVersion>latest</LangVersion>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<WarningsAsErrors />
<!--
Suppressed warnings (cannot be fixed - see docs/DEVELOPMENT.md for details):
- CA1416: Windows-only APIs (this is a Windows-only COM automation project)
- CS8602: Dereference of possibly null reference (dynamic COM objects)
- SYSLIB1045: GeneratedRegexAttribute pattern (not applicable to our regex usage)
- IL2026: Reflection/dynamic code incompatible with trimming (Excel COM uses dynamic)
- IL3050: Code incompatible with Native AOT (Excel COM requires runtime COM activation)
-->
<NoWarn>$(NoWarn);CA1416;CS8602;SYSLIB1045;IL2026;IL3050</NoWarn>
<!-- Deterministic builds for reproducibility -->
<Deterministic>true</Deterministic>
<ContinuousIntegrationBuild Condition="'$(CI)' == 'true'">true</ContinuousIntegrationBuild>
<!-- Code Analysis -->
<EnableNETAnalyzers>true</EnableNETAnalyzers>
<AnalysisLevel>latest</AnalysisLevel>
<AnalysisMode>Recommended</AnalysisMode>
<EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
<CodeAnalysisTreatWarningsAsErrors>true</CodeAnalysisTreatWarningsAsErrors>
<!-- Generate XML documentation for all projects to enable IDE0005 analyzer -->
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<!-- Security -->
<PublishTrimmed>false</PublishTrimmed>
<PublishReadyToRun>false</PublishReadyToRun>
<InvariantGlobalization>false</InvariantGlobalization>
<_SkipUpgradeNetAnalyzersNuGetWarning>true</_SkipUpgradeNetAnalyzersNuGetWarning>
</PropertyGroup>
<!-- Import user-specific properties (gitignored, for local secrets) -->
<Import Project="Directory.Build.props.user" Condition="Exists('Directory.Build.props.user')" />
</Project>