使用 Visual Studio 2022 17.2.0 Preview 1.0 我目前正在尝试创建一个 MAUI 应用程序,该应用程序已经在 Windows 上运行良好,也可以在 Android 下运行。
该应用程序使用一个库(SaxonCS 11),该库需要从环境变量中给出的目录中读取其许可证文件SAXON_LICENSE_DIR
.
对于Android,我发现我可以添加一个.txt
使用构建操作将文件添加到我的项目AndroidEnvironment
定义环境变量。
然而,我很难找到正确的值SAXON_LICENSE_DIR
变量指向 C# 代码可以读取的目录。
在Android模拟器手机中我将文件放入Download
文件应用程序显示我位于该文件夹中的文件夹sdk_gphone_x86_64
所以我尝试将变量设置为SAXON_LICENSE_DIR=/sdk_gphone_x86_64/Download
.
当我添加了<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
to my AndroidManifest.xml
该目录不会像其他尝试那样给我一个访问被拒绝的目录SAXON_LICENSE_DIR=/storage/emulated/0/Download
但该文件未读取/找到。
我想依赖于那个特定的模拟器的目录sdk_gphone_x86_64
无论如何都不是兼容的形式,所以我的问题是:我如何设置一个环境变量来指向Download
Android 手机上用户的目录,以便 C#/MAUI 代码可以使用该路径读取该目录中的目录?
C# 代码的作用只不过是static private Processor processor = new Processor();
其中似乎有 SaxonCSProcessor
尝试正确寻找saxon-license.lic
在给出的路径中SAXON_LICENSE_DIR
但抛出异常
Saxon.Hej.trans.LicenseException
message = Failed to read license file /sdk_gphone_x86_64/Download/saxon-license.lic