Repository navigation
Layout files creating huge cache folders, new shadow dlls every time #2383
Description
Every time I open axml or xml file, it saves all of my references in project as dll files to AppDate/Local/Temp/cache/David-mono-cachepath/assembly/shadow folder.
It is saving the same dlls over and over again - and not rewriting, creating new files.
This creates about 1GB of cache files every hour, depending on what I am working on. Imagine my SSD after few days of work 🐙
The structure of the created folders is this:
shadow/d6b05dd5/d7f833e4_e356727a_00000001/Xamarin.Android.Support.v7.AppCompat.dll
shadow/d6b05dd5/d7f833e4_e356727a_00000002/Xamarin.Android.Support.v7.AppCompat.dll
shadow/d6b05dd5/d7f833e4_e356727a_00000003/Xamarin.Android.Support.v7.AppCompat.dll
shadow/d6b05dd5/d7f833e4_e356727a_00000004/Xamarin.Android.Support.v7.AppCompat.dll
shadow/bf18e0b5/5c4e92cf_e356727a_00000001/Xamarin.GooglePlayServices.Tasks.dll
shadow/bf18e0b5/5c4e92cf_e356727a_00000002/Xamarin.GooglePlayServices.Tasks.dll
shadow/bf18e0b5/5c4e92cf_e356727a_00000003/Xamarin.GooglePlayServices.Tasks.dll
shadow/bf18e0b5/5c4e92cf_e356727a_00000004/Xamarin.GooglePlayServices.Tasks.dll
shadow/3cbba188/dfedd3f2_e356727a_00000001/Plugin.Connectivity.dll
shadow/3cbba188/dfedd3f2_e356727a_00000002/Plugin.Connectivity.dll
shadow/3cbba188/dfedd3f2_e356727a_00000003/Plugin.Connectivity.dll
shadow/3cbba188/dfedd3f2_e356727a_00000004/Plugin.Connectivity.dll
etc.
Each of the folders also contains __AssemblyInfo__.ini.
I have 86 references in my project, so every time this happens, 86 new dlls are saved into those folders, creating 22MB of new useless files.
Steps to Reproduce
You can easily reproduce this by creating the basic sample offered by VS - Android App (Xamarin), Single View App and opening and closing Resources/layout/activity_main.axml a few times.
Version Information
Microsoft Visual Studio Community 2017
Version 15.8.9
VisualStudio.15.Release/15.8.9+28010.2050
Microsoft .NET Framework
Version 4.7.03056
Installed Version: Community
ASP.NET and Web Tools 2017 15.8.05085.0
ASP.NET and Web Tools 2017
ASP.NET Core Razor Language Services 15.8.31590
Provides languages services for ASP.NET Core Razor.
AWS Toolkit for Visual Studio 2017 1.14.4.1
AWS Toolkit for Visual Studio 2017.
Copyright 2011-2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
Release notes: https://aws-vs-toolkit.s3.amazonaws.com/versioninfo.html
This software includes third party software subject to the following copyrights:
- Logging from log4net, Apache License
[http://logging.apache.org/log4net/license.html] - Putty for PPK to PEM conversion, MIT license
[http://www.chiark.greenend.org.uk/~sgtatham/putty/licence.html] - NGit for AWS Elastic Beanstalk incremental push
[https://github.com/mono/ngit/blob/master/NGit.license.txt] - NSch dependency for NGit
[https://github.com/mono/ngit/blob/master/NSch.license.txt] - Sharpen dependency for NGit
[https://github.com/mono/ngit/blob/master/Sharpen/AssemblyInfo.cs] - ICSharpCode.SharpZipLib dependency for NGit
[http://www.icsharpcode.net/opensource/sharpziplib/] - Mono.Posix.dll and Mono.Security.dll dependencies for NGit
[http://mono-project.com/FAQ:_Licensing#Licensing] - MPFProj for Visual Studio Project Framework
[http://mpfproj10.codeplex.com/license] - JSON Checker for JSON validation
[http://www.raboof.com/projects/jsonchecker/] - Newtonsoft Json.NET
[http://www.newtonsoft.com/json] - YamlDotNet
[http://aaubry.net/pages/yamldotnet.html]
C# Tools 2.9.0-beta8-63208-01
C# components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.
Common Azure Tools 1.10
Provides common services for use by Azure Mobile Services and Microsoft Azure Tools.
Extensibility Message Bus 1.1.49 (remotes/origin/d15-8@ee674f3)
Provides common messaging-based MEF services for loosely coupled Visual Studio extension components communication and integration.
Microsoft JVM Debugger 1.0
Provides support for connecting the Visual Studio debugger to JDWP compatible Java Virtual Machines
Microsoft MI-Based Debugger 1.0
Provides support for connecting Visual Studio to MI compatible debuggers
Mono Debugging for Visual Studio 4.11.11-pre (8fb558f)
Support for debugging Mono processes with Visual Studio.
NuGet Package Manager 4.6.0
NuGet Package Manager in Visual Studio. For more information about NuGet, visit http://docs.nuget.org/.
ProjectServicesPackage Extension 1.0
ProjectServicesPackage Visual Studio Extension Detailed Info
ResourcePackage Extension 1.0
ResourcePackage Visual Studio Extension Detailed Info
ResourcePackage Extension 1.0
ResourcePackage Visual Studio Extension Detailed Info
Visual Basic Tools 2.9.0-beta8-63208-01
Visual Basic components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.
Visual F# Tools 10.2 for F# 4.5 15.8.0.0. Commit Hash: 55a3dc3231c95c77f81ee53f7d29152029da7408.
Microsoft Visual F# Tools 10.2 for F# 4.5
Visual Studio Code Debug Adapter Host Package 1.0
Interop layer for hosting Visual Studio Code debug adapters in Visual Studio
VisualStudio.Mac 1.0
Mac Extension for Visual Studio
Xamarin 4.11.0.779 (d15-8@ff915e800)
Visual Studio extension to enable development for Xamarin.iOS and Xamarin.Android.
Xamarin Designer 4.15.12 (d7ff6f39c)
Visual Studio extension to enable Xamarin Designer tools in Visual Studio.
Xamarin Templates 1.1.118 (4217ee9)
Templates for building iOS, Android, and Windows apps with Xamarin and Xamarin.Forms.
Xamarin.Android SDK 9.0.0.19 (HEAD/a8a3b0ec7)
Xamarin.Android Reference Assemblies and MSBuild support.
Xamarin.iOS and Xamarin.Mac SDK 12.1.0.15 (cbfb047)
Xamarin.iOS and Xamarin.Mac Reference Assemblies and MSBuild support.
Activity
xamarin-release-manager commentedon Nov 8, 2018
[VS sync] The field 'Milestone' contains the value '16.0' that is not in the list of supported values
jonathanpeppers commentedon Nov 8, 2018
I can repro this on 15.8.9, the files appear in
%temp%\cache. Seems to happen when you open axml files in the designer.The folder seems to grow upon each new file I open, this was "Hello World" Xamarin.Forms app (I just opened the few resources that template has):
When I close VS, they don't go away.
Any ideas @garuma ?
garuma commentedon Nov 9, 2018
@rihadavid thanks for the report. We use Mono's built-in assembly shadow caching to avoid keeping file locks that would prevent the IDE from overwriting those assemblies (during build and design-times) and it's supposed to be cleaning up after itself once those assemblies are unloaded. If those files are being left behind it's possible there is a regression there, I will check that.
xamarin-release-manager commentedon Oct 23, 2019
Fixed in version 16.4.99.549 (master)
Pull Request #2269 merged by: Stephen Shaw
Author: xamarin
Commit: 7b67320f4af8beb7bf7306d0e3fff5b86d768c82 (xamarin/designer)
xamarin-release-manager commentedon Oct 23, 2019
Fixed in version 16.4.99.549 (master)
Pull Request #2269 merged by: Stephen Shaw
Author: xamarin
Commit: 7b67320f4af8beb7bf7306d0e3fff5b86d768c82 (xamarin/designer)
Bump to JamesNK/Newtonsoft.Json@ae9fe44e [13.0.1]
Bump to JamesNK/Newtonsoft.Json@ae9fe44e [13.0.1]
Bump to JamesNK/Newtonsoft.Json@ae9fe44e [13.0.1]
Bump to JamesNK/Newtonsoft.Json@ae9fe44e [13.0.1]
Bump to JamesNK/Newtonsoft.Json@ae9fe44e [13.0.1] (#6090)