Соединение Xamarin Android не может получить доступ к файлу
У меня есть проект Xamarin для Android, который я пытаюсь использовать с помощью Sdk и User Assembly.
Если я настрою проект Android только на Sdk Assembly Linking, APK будет создан и развернут успешно и будет работать.
Однако, когда я устанавливаю ссылку Sdk и User Assembly, без каких-либо других изменений, я получаю следующую ошибку только при развертывании. Решение строится успешно.
The "LinkAssemblies" task failed unexpectedly.
System.IO.IOException: The process cannot access the file '<path-to-project>\AppName\AppName.Android\obj\Release\android\assets\AppName.Core.dll' because it is being used by another process.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
at Mono.Cecil.ModuleDefinition.Write(String fileName, WriterParameters parameters)
at Mono.Linker.Steps.OutputStep.WriteAssembly(AssemblyDefinition assembly, String directory)
at Mono.Linker.Steps.OutputStep.OutputAssembly(AssemblyDefinition assembly)
at Mono.Linker.Steps.OutputStep.ProcessAssembly(AssemblyDefinition assembly)
at Mono.Linker.Steps.BaseStep.Process(LinkContext context)
at Mono.Linker.Pipeline.Process(LinkContext context)
at MonoDroid.Tuner.Linker.Process(LinkerOptions options, LinkContext& context)
at Xamarin.Android.Tasks.LinkAssemblies.Execute(DirectoryAssemblyResolver res)
at Xamarin.Android.Tasks.LinkAssemblies.Execute()
at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext()
AppName.Core.dll
- это еще один проект библиотеки в моем решении, который настроен как NetStandard 2.0.
Я просмотрел многие другие сообщения об ошибках и сообщения на форуме о подобной проблеме, но большинство из них связано с более ранней ошибкой с Visual Studio 15.5.1, которая с тех пор была исправлена.
Несмотря на это, я пробовал практически каждое решение, предлагаемое в этих ссылках, включая:
- закрытие и повторное открытие Visual Studio
- удаление /bin и /obj папок
- открытие Visual Studio в качестве администратора
- запуск MsBuild из командной строки с закрытым VS
Как и различные комбинации вышеизложенного.
Мой пользовательский linker.xml содержит исключение для моего проекта библиотеки:
<?xml version="1.0" encoding="utf-8" ?>
<linker>
...
<assembly fullname="AppName.Core" ></assembly>
...
</linker>
Поскольку этот момент я, кажется, исчерпал все доступные варианты и не приближаюсь к работоспособному решению. Предложения по решениям, обходным решениям или другим путям отладки, которые следует соблюдать, будут оценены наиболее высоко.
Мои настройки Android Android:
Информация о версии:
- Версия Visual Studio: 15.5.6
- Версия Xamarin: 2.5.0.280555
- Версия Xamarin: 26.1.0.1
Ответы
Ответ 1
См. Эту ссылку:
https://forums.xamarin.com/discussion/32976/updating-xamarin-broke-the-build-process-the-process-cannot-access-the-file-appname-dll-mdb
Существует два решения:
- Закрыть Visual Studio
- удаление всех файлов в папке bin\Debug
- удалить файл.suo
- открыть Visual Studio в режиме администратора
Если у вас есть Xamarin Studio, попробуйте это:
- Откройте решение в XamarinStudio и разверните его на Android-телефоне
- Закрыть XamarinStudio
- Откройте решение в VisualStudio и разверните его на Android Phone
Надеюсь это поможет!!