遵循本教程https://github.com/Vidyo/vidyo.io-connector-xamarin我在没有做任何修改的情况下下载了这个应用程序。
当我构建应用程序时,我得到以下错误:
严重程度代码说明项目文件行抑制状态错误无法为类Android.Support.V4.View.Accessibility.AccessibilityManagerCompat/ITouchExplorationStateChangeListenerImplementor创建JavaTypeInfo,原因是最大值_路径:'C:\Users\User\Desktop\vidyo.io-connector-xamarin-master\vidyo.io-connector-xamarin-master\VidyoConnector.Android\obj\Debug\90\android\src\mono\android\support\v4\view\accessibility\AccessibilityManagerCompat :找不到路径path的一部分System.IO.DirectoryNotFoundException
_TouchExplorationStateChangeListenerImplementor.java'.
在System.IO__Xamarin.Android.Tools.Files.CopyIfStreamChanged(Stream日志,IEnumerable`1 javaTypes,String outputPath,String applicationJavaClass,String androidSdkPlatform,Boolean useSharedRuntime,Boolean generateOnCreateOverrides,Boolean hasExportReference)的Boolean (字符串路径,Boolean System.IO.File.Delete)的Boolean(字符串路径,Boolean useSharedRuntime)的Boolean(字符串路径,Boolean checkHost) at Boolean log,ienumerable`1 javaTypes,String outputPath,String applicationJavaClass)的Boolean(字符串路径,Boolean System.IO.File.Delete)
可能的修复方法是什么?
发布于 2020-09-23 21:39:10
这似乎是windows中长路径的一个问题。将项目文件夹放在根目录下,比如C:// root project。然后,清理您的解决方案并构建。
发布于 2021-01-11 07:08:58
@LawrenceWlt是正确的,但我想补充一些信息。
是由于Maximum Path Length Limitation
在Windows API中(以下段落中讨论的一些例外情况除外),路径的最大长度为MAX_路径,定义为260个字符。
https://docs.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitationhttps://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file#maximum-path-length-limitation
如果您使用的是Windows 10,版本1607或更高版本,则可以启用长路径:
注册表项
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem\LongPathsEnabled (Type: REG_DWORD)
必须存在并设置为1。
应用程序清单还必须包括longPathAware元素。
truehttps://docs.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation#enable-long-paths-in-windows-10-version-1607-and-later我从实验移动Blazor绑定中得到了类似的错误:https://github.com/xamarin/MobileBlazorBindings由于最大值,无法为类Android.Support.V4.View.Accessibility.AccessibilityManagerCompat/IAccessibilityStateChangeListenerImplementor生成Java类型
_路径:'C:\Users\User\Desktop\MobileBlazorBindings-master\samples\MobileBlazorBindingsXaminals\MobileBlazorBindingsXaminals.Android\obj\Debug\90\android\src\mono\android\support\v4\view\accessibility\AccessibilityManagerCompat :找不到路径path的一部分System.IO.DirectoryNotFoundException
_AccessibilityStateChangeListenerImplementor.java'.在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.GenerateJavaStubs.CreateJavaSources(IEnumerable`1 javaTypes,TypeDefinitionCache缓存) MobileBlazorBindingsXaminals.Android
发布于 2021-02-20 02:16:58
还有另一个尚未被提及的解决方案:创建一个目录连接并将其指向您的解决方案目录。将连接放在根级别,然后从那里运行解决方案。
此方法将使您能够解决最大_无需移动项目或升级到Windows 10即可解决路径问题。
例如,假设您将所有代码存储在C:\dev中,所有repos存储在C:\dev\repos中,所有Git repos存储在C:\dev\ repos \git中,所有Xamarin Git repos存储在C:\dev\repos\git\xamarin中,所有为最大客户构建的移动应用程序都存储在C:\dev\repos\git\xamarin\isis中您的最新项目可以在C:\dev\repos\git\xamarin\isis\satellite-tracker\src,中找到,但您无法将其构建,因为路径太长。
因此,我们创建了一个新目录,C:\J,它将保存此目录以及我们在其他项目上为此变通方法创建的任何其他连接。然后以管理员身份打开命令提示符,导航到C:\J,然后输入以下命令:
mklink /J SatTrack C:\dev\repos\git\xamarin\isis\satellite-tracker\src现在您可以从C:\J\SatTrack访问您的解决方案文件。如果您从那里打开它,Visual Studio将使用该路径而不是较长的路径,并且在清理/重建之后应该可以正常工作。
https://stackoverflow.com/questions/60539637
复制相似问题