我目前正在开发一个简单的Xamarin应用程序,该应用程序正在重用构建在C# 4.5中的.NET类库。这些库目前在Android、Windows和Web之间很常见。
下面是指向文本资源文件的路径,
Windows桌面: AppDomain.CurrentDomain.BaseDirectory + @"\resource.txt
窗口服务: AppDomain.CurrentDomain.BaseDirectory +@bin\resource.txt
Android:“/data/data/My.App.Fold/Resoure.txt”(也是在中),获得应用程序文件夹的方法是什么?目前AppDomain.CurrentDomain.BaseDirectory正在产生null)
问题是在不同的环境中,路径是不同的。
解决这一问题的最佳做法是什么?
发布于 2014-07-03 09:24:41
在android系统上,应用程序部署为APK。您不能直接通过文件系统访问与应用程序一起部署的任何文件(所有内容都在APK中)。您需要使用嵌入式资源。
发布于 2014-07-01 15:19:42
如果您的规则是“我的文本文件与应用程序位于同一个目录中”,那么这可能是您想要的:
new FileInfo( 
        new Uri(Assembly.GetExecutingAssembly().CodeBase).LocalPath 
        )
    .Directory
    .FullName虽然在这种情况下,您不能将文本文件包含在dll中作为嵌入式资源吗?
不管怎样,我不认为框架或运行时会告诉您的路径是什么;您必须告诉它。因此,我将为每个部署平台创建一个配置设置/配置转换。
https://stackoverflow.com/questions/24512202
复制相似问题