diff --git a/Source/ExcelDna.Integration/ComInterop/DummyComAddIn.cs b/Source/ExcelDna.Integration/ComInterop/DummyComAddIn.cs
index 67451754..c9df7c73 100644
--- a/Source/ExcelDna.Integration/ComInterop/DummyComAddIn.cs
+++ b/Source/ExcelDna.Integration/ComInterop/DummyComAddIn.cs
@@ -24,12 +24,12 @@ public int GetTypeInfo(uint iTInfo, uint lcid, out nint ppTInfo)
throw new NotImplementedException();
}
- public int GetIDsOfNames(Guid riid, [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.LPWStr, SizeParamIndex = 2)] string[] rgszNames, uint cNames, uint lcid, [In][Out][MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 2)] int[] rgDispId)
+ public int GetIDsOfNames(in Guid riid, [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.LPWStr, SizeParamIndex = 2)] string[] rgszNames, uint cNames, uint lcid, [In][Out][MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 2)] int[] rgDispId)
{
throw new NotImplementedException();
}
- public int Invoke(int dispIdMember, Guid riid, uint lcid, INVOKEKIND wFlags, [MarshalUsing(typeof(Generator.Interfaces.DispParamsMarshaller))] in Generator.Interfaces.DispParams pDispParams, nint pVarResult, nint pExcepInfo, nint puArgErr)
+ public int Invoke(int dispIdMember, in Guid riid, uint lcid, ushort wFlags, [MarshalUsing(typeof(Generator.Interfaces.DispParamsMarshaller))] in Generator.Interfaces.DispParams pDispParams, nint pVarResult, nint pExcepInfo, nint puArgErr)
{
throw new NotImplementedException();
}
diff --git a/Source/ExcelDna.Integration/ComInterop/Generator/ExcelObserverRtdServer.cs b/Source/ExcelDna.Integration/ComInterop/Generator/ExcelObserverRtdServer.cs
index c597f961..deaeb7d1 100644
--- a/Source/ExcelDna.Integration/ComInterop/Generator/ExcelObserverRtdServer.cs
+++ b/Source/ExcelDna.Integration/ComInterop/Generator/ExcelObserverRtdServer.cs
@@ -37,14 +37,14 @@ public int GetTypeInfo(uint iTInfo, uint lcid, out nint ppTInfo)
throw new NotImplementedException();
}
- public int GetIDsOfNames(Guid riid, [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.LPWStr, SizeParamIndex = 2)] string[] rgszNames, uint cNames, uint lcid, [In, MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 2), Out] int[] rgDispId)
+ public int GetIDsOfNames(in Guid riid, [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.LPWStr, SizeParamIndex = 2)] string[] rgszNames, uint cNames, uint lcid, [In, MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 2), Out] int[] rgDispId)
{
dispatcher.GetIDsOfNames(rgszNames, rgDispId);
return 0;
}
- public int Invoke(int dispIdMember, Guid riid, uint lcid, INVOKEKIND wFlags, [MarshalUsing(typeof(DispParamsMarshaller))] in DispParams pDispParams, nint pVarResult, nint pExcepInfo, nint puArgErr)
+ public int Invoke(int dispIdMember, in Guid riid, uint lcid, ushort wFlags, [MarshalUsing(typeof(DispParamsMarshaller))] in DispParams pDispParams, nint pVarResult, nint pExcepInfo, nint puArgErr)
{
dispatcher.Invoke(dispIdMember, pDispParams, pVarResult);
diff --git a/Source/ExcelDna.Integration/ComInterop/Generator/ExcelRibbon.cs b/Source/ExcelDna.Integration/ComInterop/Generator/ExcelRibbon.cs
index 99486d1e..062f6bf4 100644
--- a/Source/ExcelDna.Integration/ComInterop/Generator/ExcelRibbon.cs
+++ b/Source/ExcelDna.Integration/ComInterop/Generator/ExcelRibbon.cs
@@ -34,7 +34,7 @@ public int GetTypeInfo(uint iTInfo, uint lcid, out nint ppTInfo)
throw new NotImplementedException();
}
- public int GetIDsOfNames(Guid riid, [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.LPWStr, SizeParamIndex = 2)] string[] rgszNames, uint cNames, uint lcid, [In][Out][MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 2)] int[] rgDispId)
+ public int GetIDsOfNames(in Guid riid, [MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.LPWStr, SizeParamIndex = 2)] string[] rgszNames, uint cNames, uint lcid, [In][Out][MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 2)] int[] rgDispId)
{
for (int i = 0; i < cNames; ++i)
rgDispId[i] = (rgszNames[i] == "LoadImage") ? methods.Length : Array.FindIndex(methods, m => m?.Name == rgszNames[i]);
@@ -42,7 +42,7 @@ public int GetIDsOfNames(Guid riid, [MarshalAs(UnmanagedType.LPArray, ArraySubTy
return 0;
}
- public int Invoke(int dispIdMember, Guid riid, uint lcid, INVOKEKIND wFlags, [MarshalUsing(typeof(Generator.Interfaces.DispParamsMarshaller))] in Generator.Interfaces.DispParams pDispParams, nint pVarResult, nint pExcepInfo, nint puArgErr)
+ public int Invoke(int dispIdMember, in Guid riid, uint lcid, ushort wFlags, [MarshalUsing(typeof(Generator.Interfaces.DispParamsMarshaller))] in Generator.Interfaces.DispParams pDispParams, nint pVarResult, nint pExcepInfo, nint puArgErr)
{
try
{
diff --git a/Source/ExcelDna.Integration/ComInterop/Generator/Interfaces/DispParamsMarshaller.cs b/Source/ExcelDna.Integration/ComInterop/Generator/Interfaces/DispParamsMarshaller.cs
index e0edf5ef..277269b5 100644
--- a/Source/ExcelDna.Integration/ComInterop/Generator/Interfaces/DispParamsMarshaller.cs
+++ b/Source/ExcelDna.Integration/ComInterop/Generator/Interfaces/DispParamsMarshaller.cs
@@ -11,11 +11,18 @@ internal static class DispParamsMarshaller
{
public static unsafe DispParamsNative ConvertToUnmanaged(DispParams managed)
{
+ int* rgdispidNamedArgs = null;
+ if (managed.rgdispidNamedArgs != 0)
+ {
+ rgdispidNamedArgs = (int*)Marshal.AllocHGlobal(sizeof(int));
+ *rgdispidNamedArgs = managed.rgdispidNamedArgs;
+ }
+
return new DispParamsNative
{
cArgs = managed.cArgs,
cNamedArgs = managed.cNamedArgs,
- rgdispidNamedArgs = managed.rgdispidNamedArgs != 0 ? &managed.rgdispidNamedArgs : null,
+ rgdispidNamedArgs = rgdispidNamedArgs,
rgvarg =
managed.rgvarg != null
? ArrayMarshaller.ArrayToPtr(managed.rgvarg.Reverse().Select(VariantMarshaller.ConvertToUnmanaged).ToArray())
@@ -39,6 +46,12 @@ public static unsafe DispParams ConvertToManaged(DispParamsNative unmanaged)
};
}
+ public static unsafe void Free(DispParamsNative unmanaged)
+ {
+ if (unmanaged.rgdispidNamedArgs != null)
+ Marshal.FreeHGlobal((nint)unmanaged.rgdispidNamedArgs);
+ }
+
public static void UpdateArg(DispParams dp, Variant v, int i)
{
int ri = dp.cArgs - 1 - i;
diff --git a/Source/ExcelDna.Integration/ComInterop/Generator/Interfaces/DispatchObject.cs b/Source/ExcelDna.Integration/ComInterop/Generator/Interfaces/DispatchObject.cs
index b179f863..6f67143c 100644
--- a/Source/ExcelDna.Integration/ComInterop/Generator/Interfaces/DispatchObject.cs
+++ b/Source/ExcelDna.Integration/ComInterop/Generator/Interfaces/DispatchObject.cs
@@ -106,7 +106,7 @@ private int[] GetDispIDs(string propName)
var dispIds = new int[names.Length];
var hr = dispatch!.GetIDsOfNames(
- emptyGuid,
+ in emptyGuid,
names,
(uint)names.Length,
LOCALE_USER_DEFAULT,
@@ -126,9 +126,9 @@ private int[] GetDispIDs(string propName)
var hr = dispatch!.Invoke(
dispIds[0],
- emptyGuid,
+ in emptyGuid,
LOCALE_USER_DEFAULT,
- kind,
+ (ushort)kind,
dispParams,
variantResult.Ptr,
0,
diff --git a/Source/ExcelDna.Integration/ComInterop/Generator/Interfaces/IDispatch.cs b/Source/ExcelDna.Integration/ComInterop/Generator/Interfaces/IDispatch.cs
index d176a244..806be2e4 100644
--- a/Source/ExcelDna.Integration/ComInterop/Generator/Interfaces/IDispatch.cs
+++ b/Source/ExcelDna.Integration/ComInterop/Generator/Interfaces/IDispatch.cs
@@ -19,7 +19,7 @@ internal partial interface IDispatch
[PreserveSig]
int GetIDsOfNames(
- Guid riid,
+ in Guid riid,
[MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.LPWStr, SizeParamIndex = 2)] string[] rgszNames,
uint cNames,
uint lcid,
@@ -29,9 +29,9 @@ int GetIDsOfNames(
[PreserveSig]
int Invoke(
int dispIdMember,
- Guid riid,
+ in Guid riid,
uint lcid,
- INVOKEKIND wFlags,
+ ushort wFlags,
[MarshalUsing(typeof(DispParamsMarshaller))] in DispParams pDispParams,
nint pVarResult,
nint pExcepInfo,
diff --git a/Source/ExcelDna.Integration/ComInterop/Generator/RTDUpdateEvent.cs b/Source/ExcelDna.Integration/ComInterop/Generator/RTDUpdateEvent.cs
index 47193892..fb30c0d7 100644
--- a/Source/ExcelDna.Integration/ComInterop/Generator/RTDUpdateEvent.cs
+++ b/Source/ExcelDna.Integration/ComInterop/Generator/RTDUpdateEvent.cs
@@ -69,12 +69,12 @@ int IDispatch.GetTypeInfo(uint iTInfo, uint lcid, out nint ppTInfo)
throw new NotImplementedException();
}
- int IDispatch.GetIDsOfNames(Guid riid, string[] rgszNames, uint cNames, uint lcid, int[] rgDispId)
+ int IDispatch.GetIDsOfNames(in Guid riid, string[] rgszNames, uint cNames, uint lcid, int[] rgDispId)
{
throw new NotImplementedException();
}
- int IDispatch.Invoke(int dispIdMember, Guid riid, uint lcid, INVOKEKIND wFlags, in DispParams pDispParams, nint pVarResult, nint pExcepInfo, nint puArgErr)
+ int IDispatch.Invoke(int dispIdMember, in Guid riid, uint lcid, ushort wFlags, in DispParams pDispParams, nint pVarResult, nint pExcepInfo, nint puArgErr)
{
throw new NotImplementedException();
}
diff --git a/Source/ExcelDna.SourceGenerator.NativeAOT/Generator.cs b/Source/ExcelDna.SourceGenerator.NativeAOT/Generator.cs
index 29c2fe50..f1a4fb1c 100644
--- a/Source/ExcelDna.SourceGenerator.NativeAOT/Generator.cs
+++ b/Source/ExcelDna.SourceGenerator.NativeAOT/Generator.cs
@@ -43,7 +43,7 @@ namespace ExcelDna.SourceGenerator.NativeAOT
{
public unsafe class AddInInitialize
{
- [UnmanagedCallersOnly(EntryPoint = "Initialize", CallConvs = new[] { typeof(CallConvCdecl) })]
+ [UnmanagedCallersOnly(EntryPoint = "Initialize", CallConvs = new[] { typeof(CallConvStdcall) })]
[System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage("Trimming", "IL3050:RequiresDynamicCode", Justification = "SourceGenerator preserves types and methods")]
public static short Initialize(void* xlAddInExportInfoAddress, void* hModuleXll, void* pPathXLL, byte disableAssemblyContextUnload, void* pTempDirPath)
{
diff --git a/Source/ExcelDna.TestAOT/ExcelDna.TestAOT.csproj b/Source/ExcelDna.TestAOT/ExcelDna.TestAOT.csproj
index 563c64f8..36078a82 100644
--- a/Source/ExcelDna.TestAOT/ExcelDna.TestAOT.csproj
+++ b/Source/ExcelDna.TestAOT/ExcelDna.TestAOT.csproj
@@ -8,15 +8,25 @@
true
- win-x64
true
true
- ExcelDna.TestAOT64
enable
enable
true
+
+ x86;x64
+
+
+
+ win-x64
+ ExcelDna.TestAOT64
+
+
+
+ win-x86
+ ExcelDna.TestAOT
@@ -40,7 +50,8 @@
-
+
+
diff --git a/Source/ExcelDna.sln b/Source/ExcelDna.sln
index b7dc7c45..87448607 100644
--- a/Source/ExcelDna.sln
+++ b/Source/ExcelDna.sln
@@ -144,6 +144,7 @@ EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ExcelDna.AddIn.RuntimeTestsNET4", "Tests\ExcelDna.AddIn.RuntimeTestsNET4\ExcelDna.AddIn.RuntimeTestsNET4.csproj", "{CA911B12-8A16-FBA5-E2E7-E1961AC273CA}"
ProjectSection(ProjectDependencies) = postProject
{59AE5BC6-F37E-4CE3-BAE3-796F807A9882} = {59AE5BC6-F37E-4CE3-BAE3-796F807A9882}
+ {A8D668E2-63C1-4F4E-A01E-E026C6E4D601} = {A8D668E2-63C1-4F4E-A01E-E026C6E4D601}
{A9887347-3E93-4E4E-96DF-227648E57B60} = {A9887347-3E93-4E4E-96DF-227648E57B60}
{DC10CEC8-C6CE-4148-838F-C3DD4EA2A2A3} = {DC10CEC8-C6CE-4148-838F-C3DD4EA2A2A3}
{FD7F2EE3-9922-4825-96A2-BE2C877BAEB9} = {FD7F2EE3-9922-4825-96A2-BE2C877BAEB9}
@@ -198,17 +199,17 @@ Global
{B5CC04D3-0507-4431-9F45-7C60BAC3047A}.Release|x64.ActiveCfg = Release|Any CPU
{B5CC04D3-0507-4431-9F45-7C60BAC3047A}.Release|x64.Build.0 = Release|Any CPU
{C9CAD3E4-E6F1-4BD2-AF89-57950AB15388}.Debug|Win32.ActiveCfg = Debug|Any CPU
- {C9CAD3E4-E6F1-4BD2-AF89-57950AB15388}.Debug|Win32.Build.0 = Debug|Any CPU
{C9CAD3E4-E6F1-4BD2-AF89-57950AB15388}.Debug|x64.ActiveCfg = Debug|Any CPU
{C9CAD3E4-E6F1-4BD2-AF89-57950AB15388}.Debug|x64.Build.0 = Debug|Any CPU
{C9CAD3E4-E6F1-4BD2-AF89-57950AB15388}.Release|Win32.ActiveCfg = Release|Any CPU
- {C9CAD3E4-E6F1-4BD2-AF89-57950AB15388}.Release|Win32.Build.0 = Release|Any CPU
{C9CAD3E4-E6F1-4BD2-AF89-57950AB15388}.Release|x64.ActiveCfg = Release|Any CPU
{C9CAD3E4-E6F1-4BD2-AF89-57950AB15388}.Release|x64.Build.0 = Release|Any CPU
{3AFD9408-48AC-43B4-8E55-4E7D73168FEA}.Debug|Win32.ActiveCfg = Debug|Any CPU
+ {3AFD9408-48AC-43B4-8E55-4E7D73168FEA}.Debug|Win32.Build.0 = Debug|Any CPU
{3AFD9408-48AC-43B4-8E55-4E7D73168FEA}.Debug|x64.ActiveCfg = Debug|Any CPU
{3AFD9408-48AC-43B4-8E55-4E7D73168FEA}.Debug|x64.Build.0 = Debug|Any CPU
{3AFD9408-48AC-43B4-8E55-4E7D73168FEA}.Release|Win32.ActiveCfg = Release|Any CPU
+ {3AFD9408-48AC-43B4-8E55-4E7D73168FEA}.Release|Win32.Build.0 = Release|Any CPU
{3AFD9408-48AC-43B4-8E55-4E7D73168FEA}.Release|x64.ActiveCfg = Release|Any CPU
{3AFD9408-48AC-43B4-8E55-4E7D73168FEA}.Release|x64.Build.0 = Release|Any CPU
{DC10CEC8-C6CE-4148-838F-C3DD4EA2A2A3}.Debug|Win32.ActiveCfg = Debug|Any CPU
@@ -241,42 +242,50 @@ Global
{28D046D4-B414-4DAF-818F-897A97B921DF}.Release|Win32.Build.0 = Release|Any CPU
{28D046D4-B414-4DAF-818F-897A97B921DF}.Release|x64.ActiveCfg = Release|Any CPU
{28D046D4-B414-4DAF-818F-897A97B921DF}.Release|x64.Build.0 = Release|Any CPU
- {297D72F7-FD48-4751-B2EF-F97DBAD0C901}.Debug|Win32.ActiveCfg = Debug|Any CPU
- {297D72F7-FD48-4751-B2EF-F97DBAD0C901}.Debug|x64.ActiveCfg = Debug|Any CPU
- {297D72F7-FD48-4751-B2EF-F97DBAD0C901}.Debug|x64.Build.0 = Debug|Any CPU
- {297D72F7-FD48-4751-B2EF-F97DBAD0C901}.Release|Win32.ActiveCfg = Release|Any CPU
- {297D72F7-FD48-4751-B2EF-F97DBAD0C901}.Release|x64.ActiveCfg = Release|Any CPU
- {297D72F7-FD48-4751-B2EF-F97DBAD0C901}.Release|x64.Build.0 = Release|Any CPU
+ {297D72F7-FD48-4751-B2EF-F97DBAD0C901}.Debug|Win32.ActiveCfg = Debug|x86
+ {297D72F7-FD48-4751-B2EF-F97DBAD0C901}.Debug|Win32.Build.0 = Debug|x86
+ {297D72F7-FD48-4751-B2EF-F97DBAD0C901}.Debug|x64.ActiveCfg = Debug|x64
+ {297D72F7-FD48-4751-B2EF-F97DBAD0C901}.Debug|x64.Build.0 = Debug|x64
+ {297D72F7-FD48-4751-B2EF-F97DBAD0C901}.Release|Win32.ActiveCfg = Release|x86
+ {297D72F7-FD48-4751-B2EF-F97DBAD0C901}.Release|Win32.Build.0 = Release|x86
+ {297D72F7-FD48-4751-B2EF-F97DBAD0C901}.Release|x64.ActiveCfg = Release|x64
+ {297D72F7-FD48-4751-B2EF-F97DBAD0C901}.Release|x64.Build.0 = Release|x64
{238F95C5-87DF-4973-88C2-5A9509C3935F}.Debug|Win32.ActiveCfg = Debug|Any CPU
- {238F95C5-87DF-4973-88C2-5A9509C3935F}.Debug|Win32.Build.0 = Debug|Any CPU
{238F95C5-87DF-4973-88C2-5A9509C3935F}.Debug|x64.ActiveCfg = Debug|Any CPU
{238F95C5-87DF-4973-88C2-5A9509C3935F}.Debug|x64.Build.0 = Debug|Any CPU
{238F95C5-87DF-4973-88C2-5A9509C3935F}.Release|Win32.ActiveCfg = Release|Any CPU
- {238F95C5-87DF-4973-88C2-5A9509C3935F}.Release|Win32.Build.0 = Release|Any CPU
{238F95C5-87DF-4973-88C2-5A9509C3935F}.Release|x64.ActiveCfg = Release|Any CPU
{238F95C5-87DF-4973-88C2-5A9509C3935F}.Release|x64.Build.0 = Release|Any CPU
- {8D04B68B-1EFE-48DC-A0B5-D7ACC293694B}.Debug|Win32.ActiveCfg = Debug|Any CPU
- {8D04B68B-1EFE-48DC-A0B5-D7ACC293694B}.Debug|x64.ActiveCfg = Debug|Any CPU
- {8D04B68B-1EFE-48DC-A0B5-D7ACC293694B}.Debug|x64.Build.0 = Debug|Any CPU
- {8D04B68B-1EFE-48DC-A0B5-D7ACC293694B}.Release|Win32.ActiveCfg = Release|Any CPU
- {8D04B68B-1EFE-48DC-A0B5-D7ACC293694B}.Release|x64.ActiveCfg = Release|Any CPU
- {8D04B68B-1EFE-48DC-A0B5-D7ACC293694B}.Release|x64.Build.0 = Release|Any CPU
+ {8D04B68B-1EFE-48DC-A0B5-D7ACC293694B}.Debug|Win32.ActiveCfg = Debug|x86
+ {8D04B68B-1EFE-48DC-A0B5-D7ACC293694B}.Debug|Win32.Build.0 = Debug|x86
+ {8D04B68B-1EFE-48DC-A0B5-D7ACC293694B}.Debug|x64.ActiveCfg = Debug|x64
+ {8D04B68B-1EFE-48DC-A0B5-D7ACC293694B}.Debug|x64.Build.0 = Debug|x64
+ {8D04B68B-1EFE-48DC-A0B5-D7ACC293694B}.Release|Win32.ActiveCfg = Release|x86
+ {8D04B68B-1EFE-48DC-A0B5-D7ACC293694B}.Release|Win32.Build.0 = Release|x86
+ {8D04B68B-1EFE-48DC-A0B5-D7ACC293694B}.Release|x64.ActiveCfg = Release|x64
+ {8D04B68B-1EFE-48DC-A0B5-D7ACC293694B}.Release|x64.Build.0 = Release|x64
{55AEB960-2857-323E-3E82-5A8AA5913A18}.Debug|Win32.ActiveCfg = Debug|Any CPU
+ {55AEB960-2857-323E-3E82-5A8AA5913A18}.Debug|Win32.Build.0 = Debug|Any CPU
{55AEB960-2857-323E-3E82-5A8AA5913A18}.Debug|x64.ActiveCfg = Debug|Any CPU
{55AEB960-2857-323E-3E82-5A8AA5913A18}.Debug|x64.Build.0 = Debug|Any CPU
{55AEB960-2857-323E-3E82-5A8AA5913A18}.Release|Win32.ActiveCfg = Release|Any CPU
+ {55AEB960-2857-323E-3E82-5A8AA5913A18}.Release|Win32.Build.0 = Release|Any CPU
{55AEB960-2857-323E-3E82-5A8AA5913A18}.Release|x64.ActiveCfg = Release|Any CPU
{55AEB960-2857-323E-3E82-5A8AA5913A18}.Release|x64.Build.0 = Release|Any CPU
{2F5539CC-E302-49B6-88A9-9264DC6413B3}.Debug|Win32.ActiveCfg = Debug|Any CPU
+ {2F5539CC-E302-49B6-88A9-9264DC6413B3}.Debug|Win32.Build.0 = Debug|Any CPU
{2F5539CC-E302-49B6-88A9-9264DC6413B3}.Debug|x64.ActiveCfg = Debug|Any CPU
{2F5539CC-E302-49B6-88A9-9264DC6413B3}.Debug|x64.Build.0 = Debug|Any CPU
{2F5539CC-E302-49B6-88A9-9264DC6413B3}.Release|Win32.ActiveCfg = Release|Any CPU
+ {2F5539CC-E302-49B6-88A9-9264DC6413B3}.Release|Win32.Build.0 = Release|Any CPU
{2F5539CC-E302-49B6-88A9-9264DC6413B3}.Release|x64.ActiveCfg = Release|Any CPU
{2F5539CC-E302-49B6-88A9-9264DC6413B3}.Release|x64.Build.0 = Release|Any CPU
{7CA501E1-FB74-4903-B34D-EFE513C5B428}.Debug|Win32.ActiveCfg = Debug|Any CPU
+ {7CA501E1-FB74-4903-B34D-EFE513C5B428}.Debug|Win32.Build.0 = Debug|Any CPU
{7CA501E1-FB74-4903-B34D-EFE513C5B428}.Debug|x64.ActiveCfg = Debug|Any CPU
{7CA501E1-FB74-4903-B34D-EFE513C5B428}.Debug|x64.Build.0 = Debug|Any CPU
{7CA501E1-FB74-4903-B34D-EFE513C5B428}.Release|Win32.ActiveCfg = Release|Any CPU
+ {7CA501E1-FB74-4903-B34D-EFE513C5B428}.Release|Win32.Build.0 = Release|Any CPU
{7CA501E1-FB74-4903-B34D-EFE513C5B428}.Release|x64.ActiveCfg = Release|Any CPU
{7CA501E1-FB74-4903-B34D-EFE513C5B428}.Release|x64.Build.0 = Release|Any CPU
{151AE960-6320-402D-BDD0-D76DF96F2BD7}.Debug|Win32.ActiveCfg = Debug|Any CPU
@@ -303,12 +312,14 @@ Global
{DAF494B7-16F3-AAA7-5F71-234663023BB6}.Release|Win32.Build.0 = Release|Any CPU
{DAF494B7-16F3-AAA7-5F71-234663023BB6}.Release|x64.ActiveCfg = Release|Any CPU
{DAF494B7-16F3-AAA7-5F71-234663023BB6}.Release|x64.Build.0 = Release|Any CPU
- {1EC2EE86-7C59-4CA9-9D6A-FBF206DA9D3F}.Debug|Win32.ActiveCfg = Debug|Any CPU
- {1EC2EE86-7C59-4CA9-9D6A-FBF206DA9D3F}.Debug|x64.ActiveCfg = Debug|Any CPU
- {1EC2EE86-7C59-4CA9-9D6A-FBF206DA9D3F}.Debug|x64.Build.0 = Debug|Any CPU
- {1EC2EE86-7C59-4CA9-9D6A-FBF206DA9D3F}.Release|Win32.ActiveCfg = Release|Any CPU
- {1EC2EE86-7C59-4CA9-9D6A-FBF206DA9D3F}.Release|x64.ActiveCfg = Release|Any CPU
- {1EC2EE86-7C59-4CA9-9D6A-FBF206DA9D3F}.Release|x64.Build.0 = Release|Any CPU
+ {1EC2EE86-7C59-4CA9-9D6A-FBF206DA9D3F}.Debug|Win32.ActiveCfg = Debug|x86
+ {1EC2EE86-7C59-4CA9-9D6A-FBF206DA9D3F}.Debug|Win32.Build.0 = Debug|x86
+ {1EC2EE86-7C59-4CA9-9D6A-FBF206DA9D3F}.Debug|x64.ActiveCfg = Debug|x64
+ {1EC2EE86-7C59-4CA9-9D6A-FBF206DA9D3F}.Debug|x64.Build.0 = Debug|x64
+ {1EC2EE86-7C59-4CA9-9D6A-FBF206DA9D3F}.Release|Win32.ActiveCfg = Release|x86
+ {1EC2EE86-7C59-4CA9-9D6A-FBF206DA9D3F}.Release|Win32.Build.0 = Release|x86
+ {1EC2EE86-7C59-4CA9-9D6A-FBF206DA9D3F}.Release|x64.ActiveCfg = Release|x64
+ {1EC2EE86-7C59-4CA9-9D6A-FBF206DA9D3F}.Release|x64.Build.0 = Release|x64
{D47CC5BF-712E-4FFA-BE52-E783BDCC6D33}.Debug|Win32.ActiveCfg = Debug|Any CPU
{D47CC5BF-712E-4FFA-BE52-E783BDCC6D33}.Debug|Win32.Build.0 = Debug|Any CPU
{D47CC5BF-712E-4FFA-BE52-E783BDCC6D33}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -317,16 +328,20 @@ Global
{D47CC5BF-712E-4FFA-BE52-E783BDCC6D33}.Release|Win32.Build.0 = Release|Any CPU
{D47CC5BF-712E-4FFA-BE52-E783BDCC6D33}.Release|x64.ActiveCfg = Release|Any CPU
{D47CC5BF-712E-4FFA-BE52-E783BDCC6D33}.Release|x64.Build.0 = Release|Any CPU
- {3949BFC8-2A6A-4AC7-828B-CDE748DD2A92}.Debug|Win32.ActiveCfg = Debug|Any CPU
- {3949BFC8-2A6A-4AC7-828B-CDE748DD2A92}.Debug|x64.ActiveCfg = Debug|Any CPU
- {3949BFC8-2A6A-4AC7-828B-CDE748DD2A92}.Debug|x64.Build.0 = Debug|Any CPU
- {3949BFC8-2A6A-4AC7-828B-CDE748DD2A92}.Release|Win32.ActiveCfg = Release|Any CPU
- {3949BFC8-2A6A-4AC7-828B-CDE748DD2A92}.Release|x64.ActiveCfg = Release|Any CPU
- {3949BFC8-2A6A-4AC7-828B-CDE748DD2A92}.Release|x64.Build.0 = Release|Any CPU
+ {3949BFC8-2A6A-4AC7-828B-CDE748DD2A92}.Debug|Win32.ActiveCfg = Debug|x86
+ {3949BFC8-2A6A-4AC7-828B-CDE748DD2A92}.Debug|Win32.Build.0 = Debug|x86
+ {3949BFC8-2A6A-4AC7-828B-CDE748DD2A92}.Debug|x64.ActiveCfg = Debug|x64
+ {3949BFC8-2A6A-4AC7-828B-CDE748DD2A92}.Debug|x64.Build.0 = Debug|x64
+ {3949BFC8-2A6A-4AC7-828B-CDE748DD2A92}.Release|Win32.ActiveCfg = Release|x86
+ {3949BFC8-2A6A-4AC7-828B-CDE748DD2A92}.Release|Win32.Build.0 = Release|x86
+ {3949BFC8-2A6A-4AC7-828B-CDE748DD2A92}.Release|x64.ActiveCfg = Release|x64
+ {3949BFC8-2A6A-4AC7-828B-CDE748DD2A92}.Release|x64.Build.0 = Release|x64
{CA911B12-8A16-FBA5-E2E7-E1961AC273CA}.Debug|Win32.ActiveCfg = Debug|Any CPU
+ {CA911B12-8A16-FBA5-E2E7-E1961AC273CA}.Debug|Win32.Build.0 = Debug|Any CPU
{CA911B12-8A16-FBA5-E2E7-E1961AC273CA}.Debug|x64.ActiveCfg = Debug|Any CPU
{CA911B12-8A16-FBA5-E2E7-E1961AC273CA}.Debug|x64.Build.0 = Debug|Any CPU
{CA911B12-8A16-FBA5-E2E7-E1961AC273CA}.Release|Win32.ActiveCfg = Release|Any CPU
+ {CA911B12-8A16-FBA5-E2E7-E1961AC273CA}.Release|Win32.Build.0 = Release|Any CPU
{CA911B12-8A16-FBA5-E2E7-E1961AC273CA}.Release|x64.ActiveCfg = Release|Any CPU
{CA911B12-8A16-FBA5-E2E7-E1961AC273CA}.Release|x64.Build.0 = Release|Any CPU
EndGlobalSection
diff --git a/Source/Tests/ExcelDna.AddIn.RegistrationSample/ExcelDna.AddIn.RegistrationSample-AddIn.dna b/Source/Tests/ExcelDna.AddIn.RegistrationSample/ExcelDna.AddIn.RegistrationSample-AddIn.dna
new file mode 100644
index 00000000..d3fb088c
--- /dev/null
+++ b/Source/Tests/ExcelDna.AddIn.RegistrationSample/ExcelDna.AddIn.RegistrationSample-AddIn.dna
@@ -0,0 +1,3 @@
+
+
+
diff --git a/Source/Tests/ExcelDna.AddIn.RegistrationSample/ExcelDna.AddIn.RegistrationSample.csproj b/Source/Tests/ExcelDna.AddIn.RegistrationSample/ExcelDna.AddIn.RegistrationSample.csproj
index 63ac6f64..1c4a5582 100644
--- a/Source/Tests/ExcelDna.AddIn.RegistrationSample/ExcelDna.AddIn.RegistrationSample.csproj
+++ b/Source/Tests/ExcelDna.AddIn.RegistrationSample/ExcelDna.AddIn.RegistrationSample.csproj
@@ -17,13 +17,17 @@
+
+ PreserveNewest
+
PreserveNewest
-
+
+
diff --git a/Source/Tests/ExcelDna.AddIn.RegistrationSampleFS/ExcelDna.AddIn.RegistrationSampleFS-AddIn.dna b/Source/Tests/ExcelDna.AddIn.RegistrationSampleFS/ExcelDna.AddIn.RegistrationSampleFS-AddIn.dna
new file mode 100644
index 00000000..7e939f54
--- /dev/null
+++ b/Source/Tests/ExcelDna.AddIn.RegistrationSampleFS/ExcelDna.AddIn.RegistrationSampleFS-AddIn.dna
@@ -0,0 +1,3 @@
+
+
+
diff --git a/Source/Tests/ExcelDna.AddIn.RegistrationSampleFS/ExcelDna.AddIn.RegistrationSampleFS.fsproj b/Source/Tests/ExcelDna.AddIn.RegistrationSampleFS/ExcelDna.AddIn.RegistrationSampleFS.fsproj
index d6324e6c..12a35778 100644
--- a/Source/Tests/ExcelDna.AddIn.RegistrationSampleFS/ExcelDna.AddIn.RegistrationSampleFS.fsproj
+++ b/Source/Tests/ExcelDna.AddIn.RegistrationSampleFS/ExcelDna.AddIn.RegistrationSampleFS.fsproj
@@ -24,10 +24,14 @@
PreserveNewest
+
+ PreserveNewest
+
-
+
+
diff --git a/Source/Tests/ExcelDna.AddIn.RegistrationSampleVB/ExcelDna.AddIn.RegistrationSampleVB-AddIn.dna b/Source/Tests/ExcelDna.AddIn.RegistrationSampleVB/ExcelDna.AddIn.RegistrationSampleVB-AddIn.dna
new file mode 100644
index 00000000..b43cba25
--- /dev/null
+++ b/Source/Tests/ExcelDna.AddIn.RegistrationSampleVB/ExcelDna.AddIn.RegistrationSampleVB-AddIn.dna
@@ -0,0 +1,3 @@
+
+
+
diff --git a/Source/Tests/ExcelDna.AddIn.RegistrationSampleVB/ExcelDna.AddIn.RegistrationSampleVB.vbproj b/Source/Tests/ExcelDna.AddIn.RegistrationSampleVB/ExcelDna.AddIn.RegistrationSampleVB.vbproj
index 2cc663aa..3307f996 100644
--- a/Source/Tests/ExcelDna.AddIn.RegistrationSampleVB/ExcelDna.AddIn.RegistrationSampleVB.vbproj
+++ b/Source/Tests/ExcelDna.AddIn.RegistrationSampleVB/ExcelDna.AddIn.RegistrationSampleVB.vbproj
@@ -14,13 +14,17 @@
+
+ PreserveNewest
+
PreserveNewest
-
+
+
diff --git a/Source/Tests/ExcelDna.AddIn.RuntimeTests/ExcelDna.AddIn.RuntimeTests-AddIn.dna b/Source/Tests/ExcelDna.AddIn.RuntimeTests/ExcelDna.AddIn.RuntimeTests-AddIn.dna
new file mode 100644
index 00000000..fb7831dd
--- /dev/null
+++ b/Source/Tests/ExcelDna.AddIn.RuntimeTests/ExcelDna.AddIn.RuntimeTests-AddIn.dna
@@ -0,0 +1,3 @@
+
+
+
diff --git a/Source/Tests/ExcelDna.AddIn.RuntimeTests/ExcelDna.AddIn.RuntimeTests.csproj b/Source/Tests/ExcelDna.AddIn.RuntimeTests/ExcelDna.AddIn.RuntimeTests.csproj
index 60b418fa..fa490dca 100644
--- a/Source/Tests/ExcelDna.AddIn.RuntimeTests/ExcelDna.AddIn.RuntimeTests.csproj
+++ b/Source/Tests/ExcelDna.AddIn.RuntimeTests/ExcelDna.AddIn.RuntimeTests.csproj
@@ -4,6 +4,7 @@
net6.0-windows
enable
enable
+ x86;x64
@@ -18,10 +19,14 @@
PreserveNewest
+
+ PreserveNewest
+
-
+
+
diff --git a/Source/Tests/ExcelDna.AddIn.RuntimeTestsAOT/ExcelDna.AddIn.RuntimeTestsAOT.csproj b/Source/Tests/ExcelDna.AddIn.RuntimeTestsAOT/ExcelDna.AddIn.RuntimeTestsAOT.csproj
index 5fb026ef..4fc2a70a 100644
--- a/Source/Tests/ExcelDna.AddIn.RuntimeTestsAOT/ExcelDna.AddIn.RuntimeTestsAOT.csproj
+++ b/Source/Tests/ExcelDna.AddIn.RuntimeTestsAOT/ExcelDna.AddIn.RuntimeTestsAOT.csproj
@@ -8,15 +8,24 @@
true
- win-x64
true
true
- ExcelDna.AddIn.RuntimeTestsAOT64
enable
enable
true
+ x86;x64
+
+
+
+ win-x64
+ ExcelDna.AddIn.RuntimeTestsAOT64
+
+
+
+ win-x86
+ ExcelDna.AddIn.RuntimeTestsAOT
@@ -32,7 +41,8 @@
-
+
+
diff --git a/Source/Tests/ExcelDna.AddIn.RuntimeTestsNET4/ExcelDna.AddIn.RuntimeTestsNET4-AddIn.dna b/Source/Tests/ExcelDna.AddIn.RuntimeTestsNET4/ExcelDna.AddIn.RuntimeTestsNET4-AddIn.dna
new file mode 100644
index 00000000..deb0e385
--- /dev/null
+++ b/Source/Tests/ExcelDna.AddIn.RuntimeTestsNET4/ExcelDna.AddIn.RuntimeTestsNET4-AddIn.dna
@@ -0,0 +1,3 @@
+
+
+
diff --git a/Source/Tests/ExcelDna.AddIn.RuntimeTestsNET4/ExcelDna.AddIn.RuntimeTestsNET4.csproj b/Source/Tests/ExcelDna.AddIn.RuntimeTestsNET4/ExcelDna.AddIn.RuntimeTestsNET4.csproj
index 95844d72..8698e49b 100644
--- a/Source/Tests/ExcelDna.AddIn.RuntimeTestsNET4/ExcelDna.AddIn.RuntimeTestsNET4.csproj
+++ b/Source/Tests/ExcelDna.AddIn.RuntimeTestsNET4/ExcelDna.AddIn.RuntimeTestsNET4.csproj
@@ -13,13 +13,17 @@
+
+ PreserveNewest
+
PreserveNewest
-
+
+
diff --git a/Source/Tests/ExcelDna.RuntimeTests/AddInPath.cs b/Source/Tests/ExcelDna.RuntimeTests/AddInPath.cs
index 8a07c0db..c3ef9b1a 100644
--- a/Source/Tests/ExcelDna.RuntimeTests/AddInPath.cs
+++ b/Source/Tests/ExcelDna.RuntimeTests/AddInPath.cs
@@ -3,19 +3,29 @@
internal class AddInPath
{
#if DEBUG
- public const string RuntimeTestsAOT = @"..\..\..\..\ExcelDna.AddIn.RuntimeTestsAOT\bin\Debug\net10.0-windows\win-x64\publish\ExcelDna.AddIn.RuntimeTestsAOT";
- public const string RuntimeTests = @"..\..\..\..\ExcelDna.AddIn.RuntimeTests\bin\Debug\net6.0-windows\ExcelDna.AddIn.RuntimeTests-AddIn";
- public const string RuntimeTestsNET4 = @"..\..\..\..\ExcelDna.AddIn.RuntimeTestsNET4\bin\Debug\net48\ExcelDna.AddIn.RuntimeTestsNET4-AddIn";
- public const string RegistrationSample = @"..\..\..\..\ExcelDna.AddIn.RegistrationSample\bin\Debug\net6.0-windows\ExcelDna.AddIn.RegistrationSample-AddIn";
- public const string RegistrationSampleFS = @"..\..\..\..\ExcelDna.AddIn.RegistrationSampleFS\bin\Debug\net6.0-windows\ExcelDna.AddIn.RegistrationSampleFS-AddIn";
- public const string RegistrationSampleVB = @"..\..\..\..\ExcelDna.AddIn.RegistrationSampleVB\bin\Debug\net6.0-windows\ExcelDna.AddIn.RegistrationSampleVB-AddIn";
+#if X64
+ public const string RuntimeTestsAOT = @"..\..\..\..\..\ExcelDna.AddIn.RuntimeTestsAOT\bin\x64\Debug\net10.0-windows\win-x64\publish\ExcelDna.AddIn.RuntimeTestsAOT";
+ public const string RuntimeTests = @"..\..\..\..\..\ExcelDna.AddIn.RuntimeTests\bin\x64\Debug\net6.0-windows\ExcelDna.AddIn.RuntimeTests-AddIn";
#else
- public const string RuntimeTestsAOT = @"..\..\..\..\ExcelDna.AddIn.RuntimeTestsAOT\bin\Release\net10.0-windows\win-x64\publish\ExcelDna.AddIn.RuntimeTestsAOT";
- public const string RuntimeTests = @"..\..\..\..\ExcelDna.AddIn.RuntimeTests\bin\Release\net6.0-windows\ExcelDna.AddIn.RuntimeTests-AddIn";
- public const string RuntimeTestsNET4 = @"..\..\..\..\ExcelDna.AddIn.RuntimeTestsNET4\bin\Release\net48\ExcelDna.AddIn.RuntimeTestsNET4-AddIn";
- public const string RegistrationSample = @"..\..\..\..\ExcelDna.AddIn.RegistrationSample\bin\Release\net6.0-windows\ExcelDna.AddIn.RegistrationSample-AddIn";
- public const string RegistrationSampleFS = @"..\..\..\..\ExcelDna.AddIn.RegistrationSampleFS\bin\Release\net6.0-windows\ExcelDna.AddIn.RegistrationSampleFS-AddIn";
- public const string RegistrationSampleVB = @"..\..\..\..\ExcelDna.AddIn.RegistrationSampleVB\bin\Release\net6.0-windows\ExcelDna.AddIn.RegistrationSampleVB-AddIn";
+ public const string RuntimeTestsAOT = @"..\..\..\..\..\ExcelDna.AddIn.RuntimeTestsAOT\bin\x86\Debug\net10.0-windows\win-x86\publish\ExcelDna.AddIn.RuntimeTestsAOT";
+ public const string RuntimeTests = @"..\..\..\..\..\ExcelDna.AddIn.RuntimeTests\bin\x86\Debug\net6.0-windows\ExcelDna.AddIn.RuntimeTests-AddIn";
+#endif
+ public const string RuntimeTestsNET4 = @"..\..\..\..\..\ExcelDna.AddIn.RuntimeTestsNET4\bin\Debug\net48\ExcelDna.AddIn.RuntimeTestsNET4-AddIn";
+ public const string RegistrationSample = @"..\..\..\..\..\ExcelDna.AddIn.RegistrationSample\bin\Debug\net6.0-windows\ExcelDna.AddIn.RegistrationSample-AddIn";
+ public const string RegistrationSampleFS = @"..\..\..\..\..\ExcelDna.AddIn.RegistrationSampleFS\bin\Debug\net6.0-windows\ExcelDna.AddIn.RegistrationSampleFS-AddIn";
+ public const string RegistrationSampleVB = @"..\..\..\..\..\ExcelDna.AddIn.RegistrationSampleVB\bin\Debug\net6.0-windows\ExcelDna.AddIn.RegistrationSampleVB-AddIn";
+#else
+#if X64
+ public const string RuntimeTestsAOT = @"..\..\..\..\..\ExcelDna.AddIn.RuntimeTestsAOT\bin\x64\Release\net10.0-windows\win-x64\publish\ExcelDna.AddIn.RuntimeTestsAOT";
+ public const string RuntimeTests = @"..\..\..\..\..\ExcelDna.AddIn.RuntimeTests\bin\x64\Release\net6.0-windows\ExcelDna.AddIn.RuntimeTests-AddIn";
+#else
+ public const string RuntimeTestsAOT = @"..\..\..\..\..\ExcelDna.AddIn.RuntimeTestsAOT\bin\x86\Release\net10.0-windows\win-x86\publish\ExcelDna.AddIn.RuntimeTestsAOT";
+ public const string RuntimeTests = @"..\..\..\..\..\ExcelDna.AddIn.RuntimeTests\bin\x86\Release\net6.0-windows\ExcelDna.AddIn.RuntimeTests-AddIn";
+#endif
+ public const string RuntimeTestsNET4 = @"..\..\..\..\..\ExcelDna.AddIn.RuntimeTestsNET4\bin\Release\net48\ExcelDna.AddIn.RuntimeTestsNET4-AddIn";
+ public const string RegistrationSample = @"..\..\..\..\..\ExcelDna.AddIn.RegistrationSample\bin\Release\net6.0-windows\ExcelDna.AddIn.RegistrationSample-AddIn";
+ public const string RegistrationSampleFS = @"..\..\..\..\..\ExcelDna.AddIn.RegistrationSampleFS\bin\Release\net6.0-windows\ExcelDna.AddIn.RegistrationSampleFS-AddIn";
+ public const string RegistrationSampleVB = @"..\..\..\..\..\ExcelDna.AddIn.RegistrationSampleVB\bin\Release\net6.0-windows\ExcelDna.AddIn.RegistrationSampleVB-AddIn";
#endif
}
}
diff --git a/Source/Tests/ExcelDna.RuntimeTests/ExcelDna.RuntimeTests.csproj b/Source/Tests/ExcelDna.RuntimeTests/ExcelDna.RuntimeTests.csproj
index 20f77ffd..99bf1e23 100644
--- a/Source/Tests/ExcelDna.RuntimeTests/ExcelDna.RuntimeTests.csproj
+++ b/Source/Tests/ExcelDna.RuntimeTests/ExcelDna.RuntimeTests.csproj
@@ -7,6 +7,11 @@
false
true
+ x64;x86
+
+
+
+ $(DefineConstants);X64
diff --git a/Source/Tests/ExcelDna.RuntimeTests/NativeAOT.cs b/Source/Tests/ExcelDna.RuntimeTests/NativeAOT.cs
index 8e86e32b..b5c211fc 100644
--- a/Source/Tests/ExcelDna.RuntimeTests/NativeAOT.cs
+++ b/Source/Tests/ExcelDna.RuntimeTests/NativeAOT.cs
@@ -334,7 +334,13 @@ public void ObjectHandles()
Range functionRange2 = ((Worksheet)ExcelDna.Testing.Util.Workbook.Sheets[1]).Range["D2"];
functionRange2.Formula = "=NativeGetAssemblyName(D1)";
- Assert.Equal("ExcelDna.AddIn.RuntimeTestsAOT64", functionRange2.Value.ToString());
+ Assert.Equal(
+#if X64
+ "ExcelDna.AddIn.RuntimeTestsAOT64"
+#else
+ "ExcelDna.AddIn.RuntimeTestsAOT"
+#endif
+ , functionRange2.Value.ToString());
}
{
Range functionRange1 = ((Worksheet)ExcelDna.Testing.Util.Workbook.Sheets[1]).Range["E1"];
diff --git a/Source/Tests/ExcelDna.RuntimeTests/UI.cs b/Source/Tests/ExcelDna.RuntimeTests/UI.cs
index 9e26e2ce..b9f7c3ef 100644
--- a/Source/Tests/ExcelDna.RuntimeTests/UI.cs
+++ b/Source/Tests/ExcelDna.RuntimeTests/UI.cs
@@ -26,7 +26,13 @@ public void Command()
[ExcelFact(Workbook = "", AddIn = AddInPath.RuntimeTestsAOT)]
public void NativeCommand()
{
- CommandBarPopup? menu = FindPopupMenu("ExcelDna.AddIn.RuntimeTestsAOT64");
+ CommandBarPopup? menu = FindPopupMenu(
+#if X64
+ "ExcelDna.AddIn.RuntimeTestsAOT64"
+#else
+ "ExcelDna.AddIn.RuntimeTestsAOT"
+#endif
+ );
Assert.NotNull(menu);
CommandBarButton? button = FindButton(menu, "NativeCommandHello");
diff --git a/Source/Tests/ExcelDna.SourceGenerator.NativeAOT.Tests/Generator.cs b/Source/Tests/ExcelDna.SourceGenerator.NativeAOT.Tests/Generator.cs
index 5abeb2cf..5f6fa8a5 100644
--- a/Source/Tests/ExcelDna.SourceGenerator.NativeAOT.Tests/Generator.cs
+++ b/Source/Tests/ExcelDna.SourceGenerator.NativeAOT.Tests/Generator.cs
@@ -644,7 +644,7 @@ namespace ExcelDna.SourceGenerator.NativeAOT
{
public unsafe class AddInInitialize
{
- [UnmanagedCallersOnly(EntryPoint = "Initialize", CallConvs = new[] { typeof(CallConvCdecl) })]
+ [UnmanagedCallersOnly(EntryPoint = "Initialize", CallConvs = new[] { typeof(CallConvStdcall) })]
[System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessage("Trimming", "IL3050:RequiresDynamicCode", Justification = "SourceGenerator preserves types and methods")]
public static short Initialize(void* xlAddInExportInfoAddress, void* hModuleXll, void* pPathXLL, byte disableAssemblyContextUnload, void* pTempDirPath)
{
diff --git a/Source/Tests/ExcelDna.SourceGenerator.NativeAOT.Tests/RibbonDispatch.cs b/Source/Tests/ExcelDna.SourceGenerator.NativeAOT.Tests/RibbonDispatch.cs
index 7489003c..ae4ddfaf 100644
--- a/Source/Tests/ExcelDna.SourceGenerator.NativeAOT.Tests/RibbonDispatch.cs
+++ b/Source/Tests/ExcelDna.SourceGenerator.NativeAOT.Tests/RibbonDispatch.cs
@@ -53,7 +53,7 @@ private static ExcelRibbon CreateRibbon()
try
{
Marshal.StructureToPtr(default(VariantNative), pVarResult, false);
- ribbon.Invoke(dispId, Guid.Empty, 0, INVOKEKIND.INVOKE_FUNC, in dispParams, pVarResult, 0, 0);
+ ribbon.Invoke(dispId, Guid.Empty, 0, (ushort)INVOKEKIND.INVOKE_FUNC, in dispParams, pVarResult, 0, 0);
return VariantMarshaller.ConvertToManaged(Marshal.PtrToStructure(pVarResult)).Value;
}
finally
@@ -108,7 +108,7 @@ public void Invoke_OnToggle_BindsPressedBoolArgument()
ExcelRibbon ribbon = CreateRibbon();
TestRibbon.LastPressed = false;
DispParams dispParams = new DispParams { cArgs = 2, rgvarg = new[] { new Variant(null), new Variant(true) } };
- ribbon.Invoke(GetDispId(ribbon, "OnToggle"), Guid.Empty, 0, INVOKEKIND.INVOKE_FUNC, in dispParams, 0, 0, 0);
+ ribbon.Invoke(GetDispId(ribbon, "OnToggle"), Guid.Empty, 0, (ushort)INVOKEKIND.INVOKE_FUNC, in dispParams, 0, 0, 0);
Assert.True(TestRibbon.LastPressed);
}
@@ -118,7 +118,7 @@ public void Invoke_OnChange_BindsTextStringArgument()
ExcelRibbon ribbon = CreateRibbon();
TestRibbon.LastText = null;
DispParams dispParams = new DispParams { cArgs = 2, rgvarg = new[] { new Variant(null), new Variant("hello") } };
- ribbon.Invoke(GetDispId(ribbon, "OnChange"), Guid.Empty, 0, INVOKEKIND.INVOKE_FUNC, in dispParams, 0, 0, 0);
+ ribbon.Invoke(GetDispId(ribbon, "OnChange"), Guid.Empty, 0, (ushort)INVOKEKIND.INVOKE_FUNC, in dispParams, 0, 0, 0);
Assert.Equal("hello", TestRibbon.LastText);
}
}