在Window 10上构建Android Project时出错

时间:2019-05-17 10:55:06

标签: windows visual-studio xamarin xamarin.android

在为Android进行构建时,我始终会遇到此错误:

  

严重性代码描述项目文件行抑制状态   错误由于System.IO.DirectoryNotFoundException而无法为类Android.Support.V4.View.Accessibility.AccessibilityManagerCompat / IAccessibilityStateChangeListenerImplementor创建JavaTypeInfo:找不到路径'C:\ Users \ Iain Smith \ Documents \ Developer \工作\客户端\ Client1 \ Project1 \ Xamarin.Dev.Playground \ Source \ Client1.Playground.Android \ obj \ Debug \ 90 \ android \ src \ mono \ android \ support \ v4 \ view \ accessibility \ AccessibilityManagerAccessatManagerCompat_AccessibilityStateChangeListenerImplementor.java'。      在System.IO .__ Error.WinIOError(Int32 errorCode,可能是StringFullPath)      在System.IO.FileStream.Init(字符串路径,FileMode模式,FileAccess访问,Int32权限,布尔useRights,FileShare共享,Int32 bufferSize,FileOptions选项,SECURITY_ATTRIBUTES secAttrs,字符串msgPath,布尔bFromProxy,布尔useLongPath,布尔checkHost)      在System.IO.FileStream..ctor处(字符串路径,FileMode模式,FileAccess访问,FileShare共享,Int32 bufferSize)      在Xamarin.Android.Tools.Files.CopyIfStreamChanged(流流,字符串目标)      在Xamarin.Android.Tasks.Generator.CreateJavaSources(TaskLoggingHelper日志,IEnumerable`1 javaTypes,字符串outputPath,字符串applicationJavaClass,布尔值useSharedRuntime,布尔值generateOnCreateOverrides,布尔值hasExportReference)Client1.Playground.Android

是什么原因造成的?我如何解决它?在CI版本上似乎没有发生。

2 个答案:

答案 0 :(得分:2)

以下是您可以用来解决MAX_PATH长度问题的几种方法:

在Xamarin.Android .csproj中:

  1. <UseShortFileNames>True</UseShortFileNames>-强制构建过程使用较短的路径名。

  2. <IntermediateOutputPath>C:\Projects\MyApp</IntermediateOutputPath>-指定公共中间输出根以缩短路径。

更改组策略:

  1. 启用Win32长路径支持(在Visual Studio 2019+中受支持):https://blogs.msdn.microsoft.com/jeremykuhne/2016/07/30/net-4-6-2-and-long-paths-on-windows-10/

答案 1 :(得分:0)

这是由于Windows上的“最大路径”长度所致,我的目录已从以下位置更改:

C:\Users\Iain Smith\Documents\Developer\Work\Clients\Client1\Project1\Xamarin.Dev.Playground\Source\Client1.Playground.Android\

收件人:

C:\Developer\Work\Clients\Client1\Project1\Xamarin.Dev.Playground\Source\Client1.Playground.Android\