What is ResolveAssemblyReference.cache?

.NetVisual StudioResolveassemblyreference

.Net Problem Overview


What is the file ResolveAssemblyReference.cache used for and does it need to be checked in?

.Net Solutions


Solution 1 - .Net

It is a file produced by the ResolveAssemblyReference build target. MSDN has this to say about it:

> Visual Studio attempts to execute > targets with certain names when it > loads a project. These targets include > Compile, ResolveAssemblyReferences, > ResolveCOMReferences, > GetFrameworkPaths, and > CopyRunEnvironmentFiles. Visual Studio > runs these targets so that the > compiler can be initialized to provide > IntelliSense, the debugger can be > initialized, and references displayed > in Solution Explorer can be resolved. > If these targets are not present, the > project will load and build correctly > but the design-time experience in > Visual Studio will not be fully > functional.

If I interpret this correctly, I'd say that the file is used to help the IDE provide proper IntelliSense and assembly reference status in the References node. It is a fairly expensive operation since there are potentially a lot of assemblies that can be referenced. So instead of doing this repeatedly, the .cache file can help make this quick. Deleting it isn't an issue, it will be recreated when the project is reloaded.

Solution 2 - .Net

It is not needed to be checked in, so to exclude it from git, add the obj folder, for "obj\debug", to be excluded during git processes which will exclude it properly.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionKenView Question on Stackoverflow
Solution 1 - .NetHans PassantView Answer on Stackoverflow
Solution 2 - .NetAmit GhaveView Answer on Stackoverflow