我是Xamarin.Forms项目的新手。我用VS2019创建了一个项目,该项目未经任何修改,在Android设备管理器中添加了Pixel 2 Pie 9.0-Api 28模拟器。当我尝试在android模拟器上运行项目时,我无法运行我的应用程序,但错误列表中出现以下异常:
Error XARDF7004: System.ArgumentException: Illegal characters in path.
at System.Security.Permissions.FileIOPermission.EmulateFileIOPermissionChecks(String fullPath)
at System.Security.Permissions.FileIOPermission.QuickDemand(FileIOPermissionAccess access, String fullPath, Boolean checkForDuplicates, Boolean needFullPath)
at System.IO.Directory.Delete(String fullPath, String userPath, Boolean recursive, Boolean checkHost)
at Xamarin.Android.Tasks.RemoveDirFixed.RunTask()
at Xamarin.Android.Tasks.AndroidTask.Execute()
由于我只是使用VS2019生成的基本项目模板,因此这肯定是Microsoft的错误。我该如何解决他们的错误?
答案 0 :(得分:3)
在我的情况下,原因是我们的某些第三方依赖项(api程序集)迫使我们设置属性> Android选项>链接到“ SDK和用户程序集”,而不是“无”。
希望这可以帮助某人... 错误的错误消息。
答案 1 :(得分:1)
能够通过启动 adb shell 并进入应用程序目录来解决此问题:
/storage/emulated/0/Android/data/com.fips.SorterApp/files
然后
rm -rf .__override__
并再次部署工作
答案 2 :(得分:1)
我最近在 VS 16.9.2 和 16.9.3 中遇到了这种情况。这就是我修复它的方式。
打开 android SDK 管理器(确保您至少检查了 API 级别 29 或 30)。
点击平台选项卡旁边的工具选项卡(您将登陆)
确保安装了以下内容: -> ANDROID SDK 命令行工具、平台工具、构建工具、Android 模拟器和 NDK
P.S.下载和安装可能需要一段时间。 成功完成上述步骤后,不要忘记创建您选择的模拟器。
答案 3 :(得分:0)
这与我的解决方案文件夹的字符长度有关。
C:\Users\david\Dropbox\Projects\Visual Studio\PriceWatch\PriceWatch\PriceWatchXamarinForms\PriceWatchXamarinForms
(这个肿的结构是由IDE生成的,位于Visual Studio文件夹之后的所有内容)
已更改为C:\ Projects \ PriceWatch \ PriceWatchXamarinForms,并且现在可以使用。
答案 4 :(得分:0)
导致此错误的原因有很多。
我的原因是系统路径中的目录无效。删除无效条目并重新启动我的环境(通过终止并重新启动所有 explorer.exe 进程或通过重新启动机器)解决了问题。
答案 5 :(得分:0)
对此的解决方案是使用 subst
命令,它会在文件夹位置创建一个“新”驱动器。然后从新驱动器打开 sln 文件。
subst e: C:\Users\david\Dropbox\Projects\Visual Studio\PriceWatch\
然后在文件资源管理器或打开解决方案对话框中打开 e: 驱动器