Projektdateien hinzufügen.
This commit is contained in:
23
LEGACY_BINARY_COMPATIBILITY.md
Normal file
23
LEGACY_BINARY_COMPATIBILITY.md
Normal 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`.
|
||||
Reference in New Issue
Block a user