什么是ResolveAssemblyReference.cache?

Ken*_*Ken 49 .net c# resolveassemblyreference

我想弄清楚这个文件是什么(或者更确切地说,这些文件是).

我发现了一些提到它的网页,但问题的答案总是像"这个文件不是你的问题" - 没有描述文件是什么.我也没有在MSDN上看到过明显的页面.

文件本身非常大,而不是纯文本(尽管它们有很多文本).我猜它只是在编译期间使用的东西,虽然修改日期比我的任何目标文件都要旧.这与*.pdb文件或调试有关吗?

Han*_*ant 41

它是ResolveAssemblyReference构建目标生成的文件.MSDN对此有这样的说法:

Visual Studio在加载项目时尝试执行具有特定名称的目标.这些目标包括Compile,ResolveAssemblyReferences,ResolveCOMReferences,GetFrameworkPaths和CopyRunEnvironmentFiles.Visual Studio运行这些目标,以便可以初始化编译器以提供IntelliSense,可以初始化调试器,并且可以解析在解决方案资源管理器中显示的引用.如果这些目标不存在,项目将正确加载和构建,但Visual Studio中的设计时体验将无法完全发挥作用.

如果我正确地解释了这一点,我会说该文件用于帮助IDE在References节点中提供正确的IntelliSense和程序集引用状态.这是一个相当昂贵的操作,因为可能有很多可以引用的程序集.因此,.cache文件可以帮助您快速完成此操作,而不是反复执行此操作.删除它不是问题,它将在重新加载项目时重新创建.

  • 啊,太棒了。它没有签入,所以我知道它是自动生成的。我想确保它没有在(半)生产环境中提供有用的东西,例如提高堆栈跟踪(*.pdb 文件)的有用性,但听起来好像没有。凉爽的。 (2认同)