- Instead, System.Data.Jet.csproj includes two COMReference nodes for ADODB.dll & ADOX.dll, which generate strongly-typed references to these libraries. No x86/x64 issues have been encountered during preliminary tests, but I believe .NET 5.0 may support using the dynamic keyword with COM objects, so the code could possibly be reverted to the way it was, if issues with the COM wrappers are found.
- Used due to conflict between the EF Core 2.2 and .NET Core 3.1 versions of IAsyncGrouping<,> & IAsyncEnumerable<>. Invoked via setting an Alias attribute on the appropriate PackageReference.
- Test projects need to use a NuGet package reference of Microsoft.NET.Test.SDK version 16.4.0 or higher to switch between x86/x64, otherwise Visual Studio test runner does not respect the "Processor Architecture for Any CPU" setting and still tries to run x86 tests on x64.
- Refer to: https://developercommunity.visualstudio.com/content/problem/697732/test-runner-wont-execute-net-core-tests-in-32-bit.html
- Should the projects also target .NET Standard 2.0? Even if the project compiles for .NET Standard 2.0, it will not work across all .NET Standard 2.0 platforms. In particular, it will only work on Windows, which many users may expect, however, I believe either the COM or System.Data.OleDb (or both) will fail if running on .NET Core 2.0/2.1/2.2, which would be an incompatibility that is more difficult for users to guess.
- Is targeting .NET Standard 2.1 instead an option? Would have to explicitly target .NET Framework as well, unless EFCore.Jet wants to drop support for it. However, what is the advantage? Perhaps just Mono on Windows?