Projektdateien hinzufügen.

This commit is contained in:
mr_sc
2026-09-03 21:32:00 +02:00
parent 092c5fa09c
commit f6d0eaecaa
500 changed files with 115722 additions and 0 deletions

View File

@@ -0,0 +1,23 @@
# Legacy binary compatibility (10.0.0-3)
Goal: an application already compiled against `IMSApiDotNet.dll` 10.0.0-3 must be able to replace only the DLL with the new HttpClient implementation. No recompilation of the application is allowed.
Compatibility fixes applied to the shared source used by **net48 and netstandard2.0**:
- `IMSApiDotNetBase.setProperty(string,string)` restored as **public static void** on the original declaring type.
- property storage is process-global again, matching the legacy `SystemProperties` behavior.
- `IMSApiDotNet.loadLibrary()` keeps the legacy static signature and returns a process-wide singleton again.
- `IMSApiDotNetConstants` restored as a public legacy base class.
- `IMSApiDotNetBase` derives from `IMSApiDotNetConstants` again.
- legacy `getIMSApiDotNetErrorText(int)`, `logBegin(string)` and `logEnd(string)` signatures restored.
- Assembly name remains `IMSApiDotNet` and AssemblyVersion remains `10.0.0.3` for both targets.
## Verification
Run on Windows with a .NET SDK / .NET Framework 4.8 runtime:
```powershell
.\scripts\check-legacy-binary-compat.ps1
```
The smoke executable is compiled against the untouched `reference\IMSApiDotNet_10.0.0-3_original.dll`. The script then copies that *unchanged EXE* into two clean directories and replaces only `IMSApiDotNet.dll`, first with the `net48` build and then with the `netstandard2.0` build. Both executions must print `ABI OK`.