Xamarin.Forms System.ArgumentException:路径中的非法字符

时间:2019-12-19 01:49:54

标签: android xamarin xamarin.forms

我是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的错误。我该如何解决他们的错误?

6 个答案:

答案 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 中遇到了这种情况。这就是我修复它的方式。

  1. 打开 android SDK 管理器(确保您至少检查了 API 级别 29 或 30)。

  2. 点击平台选项卡旁边的工具选项卡(您将登陆)

  3. 确保安装了以下内容: -> ANDROID SDK 命令行工具、平台工具、构建工具、Android 模拟器和 NDK

  4. 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: 驱动器