Closed BioTurboNick closed 1 year ago
I got the same problem using VS2022 on Windows paired to a mac. Simulator works well, physical device doesn´t. Is there any workaround?
Ok. I managed to get it working, somehow... Start the build process and copy the resource dll´s from your windows pc to the directory on your mac. In my case from "...\obj\Release\net7.0-ios\ios-arm64" on my Windows PC the folder de (for german) to username\Library\Caches\Xamarin\mtbs\builds\gehGassiApp\xxx\obj\Release\net7.0-ios\ios-arm64 on your mac. If you are fast enough, which shouldn´t be a problem, the build will succeed.
I wrote a PowerShell script to manage the copy if you have a ton of files
$localpath = "<projectpath>\obj\Release\net7.0-ios\ios-arm64"
$remotepath = "<username>@xxx.xxx.xxx.xxx:/Users/<username>/Library/Caches/Xamarin/mtbs/builds/<projectname>/<guid>/obj/Release/net7.0-ios/ios-arm64"
$dirs = @("af","am","ar","bg","ca","cs","da","de","el","es","et","fi","fil","fr","he","hi","hr","hu","id","it","ja","kk","ko","mk","ms","nb","nl","pl","pt","ro","ru","sk","sl","sr-Cyrl","sv","sw","ta","th","tr","uk","ur","vi","zh-Hans","zh-Hant","zu")
$localpaths = ($dirs | % {join-path $localpath $_ })
scp -r $localpaths $remotepath
However, I just tried this and got the following error for each language:
ILStrip failed for obj/Release/net7.0-ios/ios-arm64/<lang>/<projname>.resources.dll: Sharing violation on path /Users/<username>/Library/Caches/Xamarin/mtbs/builds/<projname>/<guid>/obj/Release/net7.0-ios/ios-arm64/stripped/<projname>.resources.dll
I'm having the same problem during build on an ARABIC ar resource file. The error is: C:\Program Files\dotnet\packs\Microsoft.iOS.Sdk\16.1.1477\targets\Xamarin.Shared.Sdk.targets(758,3): error : ILStrip failed for obj/Release/net7.0-ios/ios-arm64/ar/appName.resources.dll: File '/Users/user/Library/Caches/Xamarin/mtbs/builds/appName/f85c990fa339420a0e15b075f9ca47adb9f96855923988575a8541d664563b4f/obj/Release/net7.0-ios/ios-arm64/ar/appName.resources.dll' not found. The strange thing is I'm building with DEBUG, and the error above is for RELEASE!!
The issue over on Xamarin-macios I linked turns out to be identical, and it proposes a workaround that works (make sure to Clean first):
<PropertyGroup>
<EnableAssemblyILStripping>false</EnableAssemblyILStripping>
</PropertyGroup>
Apparently it's safe to set it for all projects and only affects iOS? Not sure about that one.
This might be a duplicate of https://github.com/xamarin/xamarin-macios/issues/14841.
Apparently it's safe to set it for all projects and only affects iOS?
Correct, it should be safe for all types of projects. Although you can limit it if you want:
<PropertyGroup Condition="'$(TargetFramework)' == 'net7.0-ios'">
<EnableAssemblyILStripping>false</EnableAssemblyILStripping>
</PropertyGroup>
@rolfbjarne Cool, works! Thanks!
Seems fixed/duplicate in another repo. Nothing much for us to do here. Thanks all!
Description
The
obj/Release/net7.0-ios/ios-arm64/<culture>/<projectname>.resources.dll
files aren't being generated on the Mac build server during publishing. They are generated in Release mod for the simulator. Because they aren't generated, the ILStrip step fails, and the whole process fails.The publishing command I'm using is:
It seems like the files are created locally, but not remotely?
Steps to Reproduce
Not sure yet
Link to public reproduction project repository
n/a yet
Version with bug
7.0 (current)
Last version that worked well
Unknown/Other
Affected platforms
iOS
Affected platform versions
iOS 16
Did you find any workaround?
No response
Relevant log output