如何解决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 举报,一经查实,本站将立刻删除。