在编译期间监视文件复制
Posted
技术标签:
【中文标题】在编译期间监视文件复制【英文标题】:Monitor file copy during compilation 【发布时间】:2012-05-29 13:54:09 【问题描述】:我曾经在我的项目中有一些构建后事件和构建事件之后, 我用它来复制文件。 我也有 CopyLocal = true。
我正在删除所有后期构建和构建事件之后,copylocal 现在等于 false。 有一些 dll 文件仍然会进入 bin 文件夹....
如何检测谁复制了这些文件?
谢谢。
【问题讨论】:
逐个禁用组件? 我有 205 个组件 :) 在 *.csproj 文件中查找复制的文件名。 我做到了,我跑了notepad++也没找到 【参考方案1】:尝试从 Visual Studio 命令提示符和saving a verbose log 构建,这样您就可以搜索复制文件的名称并找出正在复制它们的项目:
msbuild <solution name> /l:FileLogger,Microsoft.Build.Engine;logfile=MyLog.log;verbosity=diagnostic
即使在 .csproj 文件中未按名称提及文件,这也会为您提供一些结果。
【讨论】:
以上是关于在编译期间监视文件复制的主要内容,如果未能解决你的问题,请参考以下文章
FileSystemWatcher - 文件复制期间的 3 个事件
MSBuild 在 _CopyOutOfDateSourceItemsToOutputDirectory 期间复制依赖项目文件