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

Dav*_*her 7 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()   
Run Code Online (Sandbox Code Playgroud)

由于我只是简单使用了一个VS2019生成的基础项目模板,所以这肯定是微软端的一个bug。我该如何修复他们的错误?

Dav*_*her 15

它与我的解决方案文件夹的字符长度有关。

C:\Users\david\Dropbox\Projects\Visual Studio\PriceWatch\PriceWatch\PriceWatchXamarinForms\PriceWatchXamarinForms
Run Code Online (Sandbox Code Playgroud)

(这个臃肿的结构是IDE生成的,Visual Studio文件夹后面的所有东西)

我将其更改为C:\Projects\PriceWatch\PriceWatchXamarinForms然后它起作用了。

  • 感谢分享。不要忘记接受答案。 (2认同)

小智 5

在我们的案例中,原因是我们的某些第三方依赖项(api 程序集)迫使我们设置“属性”>“Android 选项”>“链接到“Sdk 和用户程序集”而不是“无”。

希望这可以帮助某人...错误的错误消息。