MSBuild:你怎么能找到一个特定的文件添加到_copyfilesmarkdcopylocal ?



当我构建一个特定的项目时,在_CopyFilesMarkedCopyLocal任务期间,有一个不希望的文件从一个nuget包复制到输出中。我无法从日志或项目参考的搜索中确定为什么文件被标记为CopyLocal。有没有什么有用的记录?或者是否有一个属性或项组,我可以开始打印调试消息来跟踪它?

更多细节:

该文件是Nuget包的一部分,但在进行复制的项目中不直接引用。

发生复制的项目是一个大型复杂的。net框架应用程序的一部分。该工程有5个PackageReference, 1个ProjectReferences。ProjectReference项目有额外的17个PackageReferences和7个ProjectReferences,并且树还在继续。

NuGet将生成包含引用的obj...nuget.g.props/.targets文件。这可以通过依赖资产属性来控制——例如在PackageReference上设置ExcludeAssets="contentfiles"

使用二进制日志(将-bl添加到msbuild/dotnet build调用中)并在结构化日志查看器中打开它,可以在逻辑构建树和文件/日志输出中提供良好的搜索选项,可以帮助找到这些文件。

最新更新