apache/logging-log4net

[Bug] Android Archiving failing due to file being used by another processes

DavidStrachanLexacom opened this issue · 2 comments

*** I have raised an issue with both Xamarin.Forms and Log4net as ambiguity where the issue lies***

Log4net 2.0.15
Xamarin.Forms 5.0.0.2622
Android 14.0 (34)
VS 2022 17.8.4

This seems to only occur since updating to Android 14.0.

When archiving the project The following error is thrown:

Severity Code Description Project File Line Suppression State Details Error Mono.Linker.OutputException: Failed to write 'Xamarin.Android.Project\obj\Release\130\android\assets\log4net.dll ---> System.IO.IOException: The process cannot access the file 'Xamarin.Android.Project\obj\Release\130\android\assets\log4net.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) in /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/external/cecil/Mono.Cecil/ModuleDefinition.cs:line 1160 at Mono.Linker.Steps.OutputStep.WriteAssembly(AssemblyDefinition assembly, String directory, WriterParameters writerParameters) --- End of inner exception stack trace --- at Mono.Linker.Steps.OutputStep.WriteAssembly(AssemblyDefinition assembly, String directory, WriterParameters writerParameters) at Mono.Linker.Steps.OutputStep.OutputAssembly(AssemblyDefinition assembly) at Mono.Linker.Steps.BaseStep.Process(LinkContext context) at Mono.Linker.Pipeline.ProcessStep(LinkContext context, IStep step) at Mono.Linker.Pipeline.Process(LinkContext context) at MonoDroid.Tuner.Linker.Process(LinkerOptions options, ILogger logger, LinkContext& context) at Xamarin.Android.Tasks.LinkAssemblies.Execute(DirectoryAssemblyResolver res) at Xamarin.Android.Tasks.LinkAssemblies.RunTask() at Microsoft.Android.Build.Tasks.AndroidTask.Execute() in /Users/runner/work/1/s/xamarin-android/external/xamarin-android-tools/src/Microsoft.Android.Build.BaseTasks/AndroidTask.cs:line 17 Lexacom.Mahon.Xamarin.Android

Any help or clarification of what is going wrong would be appreciated.

Confirmed present after updating VS:

Microsoft Visual Studio Professional 2022
Version 17.9.0
VisualStudio.17.Release/17.9.0+34607.119
Microsoft .NET Framework
Version 4.8.09032

Installed Version: Professional

Visual C++ 2022 00476-80000-00000-AA079
Microsoft Visual C++ 2022

Mono Debugging for Visual Studio 17.9.0 (b3bca6f)
Support for debugging Mono processes with Visual Studio.

Xamarin 17.9.0.138 (d17-9@60c2b9b)
Visual Studio extension to enable development for Xamarin.iOS and Xamarin.Android.

Xamarin Designer 17.9.3.0 (remotes/origin/d17-9@f174974f91)
Visual Studio extension to enable Xamarin Designer tools in Visual Studio.

Xamarin Templates 17.9.0 (38e87ba)
Templates for building iOS, Android, and Windows apps with Xamarin and Xamarin.Forms.

Xamarin.Android SDK 13.2.2.0 (d17-5/45b0e14)
Xamarin.Android Reference Assemblies and MSBuild support.
Mono: d9a6e87
Java.Interop: xamarin/java.interop/d17-5@149d70fe
SQLite: xamarin/sqlite@68c69d8
Xamarin.Android Tools: xamarin/xamarin-android-tools/d17-5@ca1552d

This is a build time problem. There is imho nothing we could do to solve this.
The fix must be done in Xamarin.