New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add minimum ARM64 support #722
Conversation
This change adds ARM64 entries where ARM(32) entries already exist. In the case of certain test configurations, ARM is set to use the x86 configuration so ARM64 imitates this. Since winrt.test.managed.uap.csproj is not compatible with .NET Native and the ARM64 UWP does not support .NET other than Native, it is omitted.
This takes care of unresolved externals in the Direct3DInterop library by updating to a version of directxtk_uwp that has ARM64 support.
This change fixes the Nuget Restore error The local source 'C:\Users\jkunkee\source\repos\Win2D\bin' doesn't exist. Incidentally, it also pulls in a version with official ARM64 support: https://github.com/Microsoft/dotnet/blob/master/releases/UWP/net-native2.2/README.md#uwp-627-march-12th-2019
This change fixes errors about ARM64 not being supported before 16299.
This change accomodates Visual Studio's lack of support for multiple TargetPlatformMinVersion values in one project by separating the NuGet restore and the build operations that depend on it. UWAs that intend to support ARM64 must have a TargetPlatformMinVersion of at least 10.0.16299.0, while UWAs that intend to support all past versions of Windows 10 must set it to 10.0.10240.0. The Win2D sample and test UWAs need to do both, but NuGet restore only takes one. This this change copies the restore and build operations into two such that the 16299 restore runs, the 16299 (ARM64) builds run, then the 10240 restore runs, and finally the 10240 builds run. This builds everything, including tests, for all architectures. One side effect is that the NuGet package state is left in a state that supports building the most common Platforms from Visual Studio. A corrolary to this is that exported sample projects will require similar arrangements to build for both full Windows 10 backwards compatibility and for ARM64. Since BuildDocs.proj also uses NuGet Restore, it specifically uses the more general 10240 restore target.
As of Visual Studio 2017 and this point in the commit history, this workaround is no longer necessary.
when will the new version be released to nuget to support UWP ARM64 for Xamarin.Forms? |
I'm working on spinning and validating a release build now. Likely a couple of days to wrap this up. |
any progress on this @shawnhar ? |
Sorry, getting the build together is taking much longer than we'd hoped. Hopefully soon now. In the meantime you can build this yourself to unblock development using it. |
ok. 1.24.0 is now out 👍 |
Supersedes #695