微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MSBuild:如何找出特定文件添加到 _CopyFilesMarkedCopyLocal 的位置? 更多详情:

如何解决MSBuild:如何找出特定文件添加到 _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 控制 - 例如在 ExcludeAssets="contentfiles" 上设置 PackageReference

使用二进制日志(将 -bl 添加到 msbuild/dotnet build 调用)并在 structured log viewer 中打开它为您在逻辑构建树和文件/日志输出中提供了很好的搜索选项这可以帮助找到这些文件。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。