Я пытаюсь создать кроссплатформенное мобильное приложение с Xamarin.forms в Visual Studio Community 2017 (версия 15.9.5).
После создания проекта я обновляю пакеты NuGet и получаю 3 ошибки и1 предупреждение (к сведению: я вообще не писал никакого кода).
Ниже вы можете найти подробный процесс того, что я делаю, и подробные сообщения об ошибках.
Я нажимаю на Файл>Создать> Проект> Visual C #> Кроссплатформенность> Мобильное приложение (Xamarin.Forms).
Я называю свой проект и мне предлагается выбрать шаблон, я выбираю «Пустое приложение».
Для платформы я выбираю все 3 (iOS, Android, UWP), а в качестве стратегии совместного использования кода я выбираю «Общий проект».
После создания проекта я открываю диспетчер пакетов NuGet и обновляю всемои пакеты, здесь вы можете увидеть их в их последней версии. Как только пакеты обновлены, я получаю 7 предупреждений и 1 ошибку.Я очищаю и перестраиваю решение, но продолжаю получать эти ошибки и предупреждения, хотя время от времени они меняются, и я ничего не меняю.
Может появиться 7 предупреждений и ошибок нет, закройте проект, снова откройте его,перестройте и получите 3 ошибки и 1 предупреждение.
Вот список ошибок на данный момент:
А вот полный вывод:
1> ------ Перестроить все началось: Проект: Bencivenga_Gioele_Bengalino.Android, Конфигурация: Отладка любого процессора ------ 2> ------ Пропущено Перестроить все: Проект: Bencivenga_Gioele_Bengalino.iOS, Конфигурация: отладка iPhone ------ 2> Проект не выбран для сборки для этого решения конфигурации 3> ------ Перестроить все началось: Проект: Bencivenga_Gioele_Bengalino.UWP, Конфигурация: отладка x86 ----- 1> C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Community \ MSBuild \ Xamarin \ Android \ Xamarin.Android.Common.targets (3064,2): ошибка: указанный путь, имя файла илиоба слишком длинные.Полное имя файла должно быть не более 260 символов, а имя каталога должно быть не более 248 символов.1> C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Community \ MSBuild \ Xamarin \ Android \ Xamarin.Android.Common.targets (1327,2): ошибка XA4303: Ошибка при извлечении ресурсов из «C: \ Users»\ gioel.nuget \ packages \ xamarin.android.support.compat \ 28.0.0.1 \ lib \ monoandroid81 \ Xamarin.Android.Support.Compat.dll ": System.IO.PathTooLongException: указанный путь, имя файла или оба являютсяслишком долго.Полное имя файла должно быть не более 260 символов, а имя каталога должно быть не более 248 символов.1> C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Community \ MSBuild \ Xamarin \ Android \ Xamarin.Android.Common.targets (1327,2): ошибка XA4303: в System.IO.LongPathHelper.Normalize (Строковый путь, UInt32 maxPathLength, логическое checkInvalidCharacters, логическое значение expandShortPaths) 1> C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Community \ MSBuild \ Xamarin \ Android \ Xamarin.Android.Common.targets (1327,2):ошибка XA4303: в System.IO.Path.NewNormalizePath (путь строки, Int32 maxPathLength, логическое расширениеShortPaths) 1> C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Community \ MSBuild \ Xamarin \ Android \ Xamarin.Android.Common.targets (1327,2): ошибка XA4303: в System.IO.Path.NormalizePath (строковый путь, логический fullCheck, Int32 maxPathLength, логический expandShortPaths) 1> C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \Сообщество \ MSBuild \ Xamarin \ Android \ Xamarin.Android.Common.targets (1327,2): ошибка XA4303: в System.IO.Path.GetFullPathInternal (путь строки) 1> C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Community \ MSBuild \ Xamarin \ Android \ Xamarin.Android.Common.targets (1327,2): ошибка XA4303: в Xamarin.Android.Tools.Files.ExtractAll (ZipArchive zip, строка назначения, действие 2 progressCallback, Func
2)modifyCallback, Func 2 deleteCallback, Boolean forceUpdate)
1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1327,2): error XA4303: at Xamarin.Android.Tasks.ResolveLibraryProjectImports.Extract(DirectoryAssemblyResolver res, ICollection
1 jars, ICollection 1 resolvedResourceDirectories, ICollection
1 resolvedAssetDirectories, ICollection`1 resolvedEnvironments)3> Bencivenga_Gioele_Bengalino.UWP -> C: \ Users \ gioel \ Documents \ Хранилища \ GitHub \ BengalinoUWP \ Bencivenga_Gioele_BengalinoApp \ Bencivenga_Gioele_Bengalino \ Bencivenga_Gioele_Bengalino \ Bencivenga_Gioele_Bengalino.UWP \ Bin \ x86 \ Debug \ Bencivenga_Gioele_Bengalino.UWP.exe 3> C: \ Users \gioel.nuget \ packages \ microsoft.net.uwpcoreruntimesdk \ 2.1.2 \ tools \ CoreRuntime \ Microsoft.Net.CoreRuntime.targets (195,9): ошибка: ошибка извлечения ресурсов платформы.Указанный путь, имя файла или оба являются слишком длинными.Полное имя файла должно быть не более 260 символов, а имя каталога должно быть не более 248 символов.========== Перестроить все: 0 выполнено, 2 не выполнено, 1 пропущено ==========
Я искал в Интернете решение и нашел несколько старыхпотоки, в которых они рекомендуют использовать LongPathTool для того, чтобы избавиться от проблемы, состоящей из 260 символов, но их инструкции «просто установите его, и он будет работать», и хорошо, но это не работает для меня.
Спасибо за чтение вопроса и еще больше спасибо, если вы даете мне какие-либо идеи или предложения относительно этой проблемы.Не стесняйтесь спрашивать более подробную информацию.