[Bug] [Windows] Xamarin.Build.Download fails due to Max Path length being exceeded (260 chars) #1295
Description
I'm using private NuGet packages for AdMob which is built from xamarin/GoogleApisForiOSComponents#501.
On Windows the download/extract task fails for some Tgz
files with errors similar to the below,
ERROR: Can not open output file : The filename, directory name, or volume label syntax is incorrect. : C:\\Users\\daniel\\AppData\\Local\\XamarinBuildDownloadCache\\FAdM-8.12.0-test\Frameworks\GoogleMobileAdsFramework-Current\GoogleMobileAds.xcframework\ios-arm64_x86_64-simulator\GoogleMobileAds.framework\Headers\Mediation\GADMediationNativeAdAssetIdentifiers.h
All the files that cause an error have a path length >= 260. This shouldn't be a problem in Windows as it does now have support for long paths, but you'll also notice the double slash separators (e.g. C:\\Users\\daniel
). Xamarin.Build.Download
is escaping any backslash in the path, which it shouldn't need to do on Windows.
My guess is that there is an old Win32 API that is trying to normalise the path & doesn't understand how to handle long paths.