MSBuild:如何找出将特定文件添加到 _CopyFilesMarkedCopyLocal 的位置?
MSBuild: How can you find out where a specific file is added to _CopyFilesMarkedCopyLocal?
当我构建一个特定项目时,在 _CopyFilesMarkedCopyLocal
任务期间,有一个不需要的文件被复制到 nuget 包的输出中。我无法从日志或项目参考搜索中确定为什么文件被标记为 CopyLocal。有什么记录可以帮助吗?或者是否有一个 属性 或项目组,我可以开始打印出调试消息来追踪它?
更多详情:
该文件是 Nuget 包的一部分,但在进行复制的项目中并未直接引用它。
进行复制的项目是大型复杂 .NET Framework 应用程序的一部分。该项目有 5 PackageReference
和 1 ProjectReferences
。 ProjectReference 项目有一个额外的 17 PackageReferences
和 7 ProjectReferences
并且树继续前进。
NuGet 将生成包含引用的 obj\...nuget.g.props
/.targets
文件。
这可以通过 Dependency asset attributes 控制 - 例如在 PackageReference
.
上设置 ExcludeAssets="contentfiles"
使用二进制日志(将 -bl
添加到 msbuild/dotnet build
调用)并在 structured log viewer 中打开它可以在逻辑构建树和文件 /可以帮助找到这些文件的日志输出。
当我构建一个特定项目时,在 _CopyFilesMarkedCopyLocal
任务期间,有一个不需要的文件被复制到 nuget 包的输出中。我无法从日志或项目参考搜索中确定为什么文件被标记为 CopyLocal。有什么记录可以帮助吗?或者是否有一个 属性 或项目组,我可以开始打印出调试消息来追踪它?
更多详情:
该文件是 Nuget 包的一部分,但在进行复制的项目中并未直接引用它。
进行复制的项目是大型复杂 .NET Framework 应用程序的一部分。该项目有 5 PackageReference
和 1 ProjectReferences
。 ProjectReference 项目有一个额外的 17 PackageReferences
和 7 ProjectReferences
并且树继续前进。
NuGet 将生成包含引用的 obj\...nuget.g.props
/.targets
文件。
这可以通过 Dependency asset attributes 控制 - 例如在 PackageReference
.
ExcludeAssets="contentfiles"
使用二进制日志(将 -bl
添加到 msbuild/dotnet build
调用)并在 structured log viewer 中打开它可以在逻辑构建树和文件 /可以帮助找到这些文件的日志输出。