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

Non-URL-safe characters in project path break AvaloniaResource generation #2555

Closed
kekekeks opened this issue May 20, 2019 · 4 comments
Closed

Comments

@kekekeks
Copy link
Member

At least on Linux.

Originally reported here with project path /home/darksait88/Документы/ak_window/

@ygra
Copy link

ygra commented Aug 20, 2019

Also broken on Windows:

Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly '%D0%94%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.
   at System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, IntPtr ptrLoadContextBinder)
   at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, IntPtr ptrLoadContextBinder)
   at System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, StackCrawlMark& stackMark, IntPtr pPrivHostBinder)
   at System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, StackCrawlMark& stackMark)
   at System.Reflection.Assembly.Load(String assemblyString)
   at Avalonia.Shared.PlatformSupport.AssetLoader.GetAssembly(String name) in D:\a\1\s\src\Shared\PlatformSupport\AssetLoader.cs:line 238
   at Avalonia.Shared.PlatformSupport.AssetLoader.GetResAsmAndPath(Uri uri) in D:\a\1\s\src\Shared\PlatformSupport\AssetLoader.cs:line 188
   at Avalonia.Shared.PlatformSupport.AssetLoader.GetAsset(Uri uri, Uri baseUri) in D:\a\1\s\src\Shared\PlatformSupport\AssetLoader.cs:line 172
   at Avalonia.Shared.PlatformSupport.AssetLoader.Exists(Uri uri, Uri baseUri) in D:\a\1\s\src\Shared\PlatformSupport\AssetLoader.cs:line 58
   at Avalonia.Markup.Xaml.AvaloniaXamlLoader.GetUrisFor(IAssetLoader assetLocator, Type type)+MoveNext() in D:\a\1\s\src\Markup\Avalonia.Markup.Xaml\AvaloniaXamlLoader.cs:line 220
   at Avalonia.Markup.Xaml.AvaloniaXamlLoader.Load(Type type, Object rootInstance) in D:\a\1\s\src\Markup\Avalonia.Markup.Xaml\AvaloniaXamlLoader.cs:line 70
   at Avalonia.Markup.Xaml.AvaloniaXamlLoader.Load(Object obj) in D:\a\1\s\src\Markup\Avalonia.Markup.Xaml\AvaloniaXamlLoader.cs:line 45
   at Документы.App.Initialize() in d:\Users\Joey\Stuff\Документы\App.xaml.cs:line 10
   at Avalonia.Controls.AppBuilderBase`1.Setup() in D:\a\1\s\src\Avalonia.Controls\AppBuilderBase.cs:line 302
   at Avalonia.Controls.AppBuilderBase`1.Start(AppMainDelegate main, String[] args) in D:\a\1\s\src\Avalonia.Controls\AppBuilderBase.cs:line 153
   at Документы.Program.Main(String[] args) in d:\Users\Joey\Stuff\Документы\Program.cs:line 14

Edit: Nevermind, different problem (if the assembly itself has a non-ASCII name), but once that is fixed, it leads to the same problem as the original post.

@maxkatz6
Copy link
Member

Uri parser for "avares" is configured with UriParser.Register(new GenericUriParser(GenericUriParserOptions.GenericAuthority)) which forces UriParser to escape these non-ascii assembly names.

@maxkatz6 maxkatz6 removed the os-linux label May 25, 2022
@uthidata
Copy link
Contributor

uthidata commented Aug 7, 2023

Джон äöü.tar.gz
Just tested with Avalonia 11, problem seems to have been solved. Attached is a project I tested with.
The namespace name cannot contain space, but unicode works fine.

@timunie
Copy link
Contributor

timunie commented Aug 7, 2023

closed as completed acc. to users feedback. If anyone thinks this is still an issue, please ping me and I'll re-open it.

@timunie timunie closed this as completed Aug 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants