当我构建一个特定的项目时,在_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
调用中)并在结构化日志查看器中打开它,可以在逻辑构建树和文件/日志输出中提供良好的搜索选项,可以帮助找到这些文件。