在不同的操作系统(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)
问题是在不同的环境中路径是不同的。
解决这个问题的最佳实践是什么?
android应用部署为APK。你不能直接通过文件系统访问应用程序部署的任何文件(所有文件都在APK中)。您需要使用嵌入的资源
如果你的规则是"我的文本资源文件与应用程序在同一目录下",那么这可能是你想要的:
new FileInfo(
new Uri(Assembly.GetExecutingAssembly().CodeBase).LocalPath
)
.Directory
.FullName
虽然在这种情况下,你可以不包括文本文件在你的dll作为嵌入式资源?
无论如何;我不认为框架或运行时会告诉你你的路径是什么;你必须说出来。因此,我将为每个部署平台创建配置设置/配置转换。