在不同的操作系统(Xamirin/Android, Windows, Web)环境中,关于路径的最佳实践是什么?

本文关键字:路径 于路径 是什么 最佳 Web 操作系统 Xamirin Windows Android 环境 | 更新日期: 2023-09-27 18:10:55

我目前正在开发一个简单的Xamarin-Android应用程序,它重用了。net 4.5中构建的c#类库。这些库目前在Android、Windows和Web Services之间很常见。

下面是指向文本资源文件的路径,

Windows Desktop: AppDomain.CurrentDomain.BaseDirectory + @"'resource.txt

Windows Service: AppDomain.CurrentDomain.BaseDirectory + @"bin'resource.txt

Android: "/data/data/My.App.Folder/resource.txt"(同样在xamarin中获取应用程序文件夹的方式是什么?当前AppDomain.CurrentDomain.BaseDirectory正在生成null)

问题是在不同的环境中路径是不同的。

解决这个问题的最佳实践是什么?

在不同的操作系统(Xamirin/Android, Windows, Web)环境中,关于路径的最佳实践是什么?

android应用部署为APK。你不能直接通过文件系统访问应用程序部署的任何文件(所有文件都在APK中)。您需要使用嵌入的资源

如果你的规则是"我的文本资源文件与应用程序在同一目录下",那么这可能是你想要的:

new FileInfo( 
        new Uri(Assembly.GetExecutingAssembly().CodeBase).LocalPath 
        )
    .Directory
    .FullName

虽然在这种情况下,你可以不包括文本文件在你的dll作为嵌入式资源?

无论如何;我不认为框架或运行时会告诉你你的路径是什么;你必须说出来。因此,我将为每个部署平台创建配置设置/配置转换。