最近新建了一个xamarin项目,发现编译出现了问题。后来发现是路径太长导致(这是个坑啊)
Severity Code Description Project File Line Suppression State
Error Failed to create JavaTypeInfo for class: Android.Support.V4.View.Accessibility.AccessibilityManagerCompat/IAccessibilityStateChangeListenerImplementor due to MAX_PATH: System.IO.DirectoryNotFoundException: Could not find a part of the path 'H:\XXXX\Source\06 SLIMS\SLIMS\app-xamarin\iTrice.SLIMS.Client\iTrice.SLIMS.Client\iTrice.SLIMS.Client.Android\obj\Debug\100\android\src\mono\android\support\v4\view\accessibility\AccessibilityManagerCompat_AccessibilityStateChangeListenerImplementor.java'.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.File.InternalDelete(String path, Boolean checkHost)
at System.IO.File.Delete(String path)
at Xamarin.Android.Tools.Files.CopyIfStreamChanged(Stream stream, String destination)
at Xamarin.Android.Tasks.Generator.CreateJavaSources(TaskLoggingHelper log, IEnumerable`1 javaTypes, String outputPath, String applicationJavaClass, String androidSdkPlatform, Boolean useSharedRuntime, Boolean generateOnCreateOverrides, Boolean hasExportReference)
解决方案:
修改.csproj文件。加上
<PropertyGroup>
<UseShortFileNames>True</UseShortFileNames>
</PropertyGroup>
如果不行的话
<PropertyGroup>
<IntermediateOutputPath>输出路径</IntermediateOutputPath>
</PropertyGroup>
如下图: