Skip to content
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

Android build fails on GetCopyToOutputDirectoryItems when the project path contains non-ASCII chars #5755

Open
4 of 24 tasks
wokhan opened this issue Apr 15, 2021 · 4 comments
Labels
area/external Categorizes an issue or PR as being external to the Uno blocked/dependency Categorizes an issue as blocked due to another issue

Comments

@wokhan
Copy link

wokhan commented Apr 15, 2021

Current behavior

When a Windows user's profile name contains accented or non-ASCII chars (at least in my case with "é" and "ô"), Android build fails every time with error APT2097 (but also APT0001 sometimes if I remember correctly):

GetCopyToOutputDirectoryItems cible :
_GetCopyToOutputDirectoryItemsFromTransitiveProjectReferences cible :
C:\Testéô....\obj\Debug\100\lp\78\jl\res : error APT2097: failed to open directory: Le fichier spécifié est introuvable. (2).
Note that it might be a script or file encoding issue (on my side?), my Android csproj file is properly UTF8-encoded though.

Expected behavior

UTF8 should be supported and build should succeed.

How to reproduce it (as minimally and precisely as possible)

Create a new project in a folder containing extended ASCII chars (or UTF8 ones) with the Android workload, launch build.

Workaround

Move the project in another folder with ASCII-only path (or create a symlink from an ASCII-only path pointing to the actual one).

Environment

Nuget Package:

  • Uno.UI / Uno.UI.WebAssembly / Uno.UI.Skia
  • Uno.WinUI / Uno.WinUI.WebAssembly / Uno.WinUI.Skia
  • Uno.SourceGenerationTasks
  • Uno.UI.RemoteControl / Uno.WinUI.RemoteControl
  • Other:

Nuget Package Version(s): 3.6.6 (encountered before as well - since first version in fact)

Affected platform(s):

  • iOS
  • Android
  • WebAssembly
  • WebAssembly renderers for Xamarin.Forms
  • macOS
  • Skia
    • WPF
    • GTK (Linux)
    • Tizen
  • Windows
  • Build tasks
  • Solution Templates

IDE:

  • Visual Studio 2017 (version: )
  • Visual Studio 2019 (version: 16.9.3)
  • Visual Studio for Mac (version: )
  • Rider Windows (version: )
  • Rider macOS (version: )
  • Visual Studio Code (version: )

Relevant plugins:

  • Resharper (version: )

Anything else we need to know?

I encountered this a while ago so it's not a regression, but I never saw anyone else complain about this issue... Surprising.
Thanks!

@wokhan wokhan added difficulty/tbd Categorizes an issue for which the difficulty level needs to be defined. kind/bug Something isn't working triage/untriaged Indicates an issue requires triaging or verification labels Apr 15, 2021
@jeromelaban
Copy link
Member

Thanks for the report.

Does a standard xamarin.android project work with the same path ?

@jeromelaban jeromelaban added the triage/needs-information Indicates an issue needs more information in order to work on it. label Apr 15, 2021
@wokhan
Copy link
Author

wokhan commented Apr 16, 2021

Hi @jeromelaban, tried right now and it also fails with a brand new Xamarin Android project...

@no-response no-response bot removed the triage/needs-information Indicates an issue needs more information in order to work on it. label Apr 16, 2021
@jeromelaban
Copy link
Member

jeromelaban commented Apr 16, 2021

Thanks, this means that it would be an issue to open in the https://github.com/xamarin/xamarin-android repo, as we're not manipulating the xamarin.android tooling. When fixed, Uno is going to benefit from it indirectly.

GitHub
Xamarin.Android provides open-source bindings of the Android SDK for use with .NET managed languages such as C# - xamarin/xamarin-android

@jeromelaban jeromelaban added area/external Categorizes an issue or PR as being external to the Uno and removed difficulty/tbd Categorizes an issue for which the difficulty level needs to be defined. kind/bug Something isn't working triage/untriaged Indicates an issue requires triaging or verification labels Apr 16, 2021
@wokhan
Copy link
Author

wokhan commented Apr 17, 2021

Hi, it makes total sense, I'll open an issue on their side; sorry I didn't try with a Xamarin project directly before :)

@MartinZikmund MartinZikmund changed the title Android build fails on GetCopyToOutputDirectoryItems when the project path contains non-ASCII chars Android build fails on GetCopyToOutputDirectoryItems when the project path contains non-ASCII chars Jul 10, 2023
@MartinZikmund MartinZikmund added the blocked/dependency Categorizes an issue as blocked due to another issue label Jul 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/external Categorizes an issue or PR as being external to the Uno blocked/dependency Categorizes an issue as blocked due to another issue
Projects
None yet
Development

No branches or pull requests

3 participants