在为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版本上似乎没有发生。
答案 0 :(得分:2)
以下是您可以用来解决MAX_PATH
长度问题的几种方法:
在Xamarin.Android .csproj中:
<UseShortFileNames>True</UseShortFileNames>
-强制构建过程使用较短的路径名。
<IntermediateOutputPath>C:\Projects\MyApp</IntermediateOutputPath>
-指定公共中间输出根以缩短路径。
更改组策略:
答案 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\