在iOS和Android项目之间共享JSON文件

Jef*_*eff 2 xamarin.ios xamarin.android xamarin

我继承了一个Xamarin项目(不是Xamarin.Forms),现在它有三个主要组件.

iOS项目,Android项目,最后是共享项目(不是PCL而不是.Net标准项目).

尽管是共享项目,但应用程序会读取每个项目的资源文件夹中包含的json文件.该文件是重复的.我觉得这个文件应该在共享项目中

澄清一下,这是结构:

共享项目

没有资产

iOS版

资源/ test.json

Android的

资产/ test.json

我相信该test.json文件应该作为共享项目中的一个文件存在.我的第一步是做这个动作,我将文件更改Build Action=Content为适用于iOS项目的文件.但似乎Android项目没有得到这个文件.我在编译和存档的.apk文件中的任何地方都找不到它.

有什么我可以做的,或者我是否需要接受这个设计缺陷并构建.Net标准库或PCL?如果是这样,你究竟如何为非Xamarin.Forms项目制作.Net标准版或PCL版.

spa*_*guy 5

你的用例是什么?如果您只需要在运行时读取test.json并使用.NET代码解析它,您可以使用嵌入式资源,详情请访问:https://developer.xamarin.com/guides/xamarin-forms/application-fundamentals/files /

如果您需要将文件转到iOS reosurces/Android资源文件夹,您可以在解决方案中保留test.json文件一次(在共享项目中或作为解决方案项)并将其添加为iOS和Android项目的链接 - 这是屏幕截图如何在Visual Studio中执行此操作.

添加为链接

您也可以在Visual Studio for Mac中执行此操作 - 右键单击​​解决方案资源管理器中的包含文件夹,选择添加文件,您将看到以下提示 - 选择添加文件的链接

VS对于mac