如何解决MSBuild tracker.exe无法检测到“ cmd / c csc.exe HelloWorlds.cs”读取/写入的文件
对于自制的构建系统,我想使用MSBuild的tracker.exe来检测由C#编译器csc.exe读取/写入的文件。在我的系统上,tracker.exe和csc.exe位于:
- C:\ VS2017 \ MSBuild \ 15.0 \ Bin \ Tracker.exe
- C:\ VS2017 \ MSBuild \ 15.0 \ Bin \ Roslyn \ csc.exe
我进行了2个实验:
- tracker / if tlogsDir / c csc HelloWorld.cs
- tracker / if cmd_tlogsDir / c cmd / c csc HelloWorld.cs
两个实验都能正确生成HelloWorld.exe。 在第一个实验中,tracker在目录tlogsDir中生成csc.read和csc.write tlog文件,其内容正确显示csc已读取HelloWorld.cs(以及许多其他文件)并已写入HelloWorld.exe。
在第二个实验中,跟踪器在目录cmd_tlogsDir中生成一个cmd.read tlog文件。该文件显示只读取了C:\ WINDOWS \ GLOBALIZATION \ SORTING \ SORTDEFAULT.NLS。
请注意,tracker.exe能够检测整个进程树中的读写文件。可以使用例如记事本来读取/写入文件来轻松证明这一点:
- tracker.exe / if tlogsDir / c记事本
- tracker.exe / if cmd_tlogsDir / c cmd / c记事本
是什么原因导致在使用'cmd / c csc HelloWorld.cs'运行时无法跟踪csc? 为什么csc在这方面的行为与例如记事本? 有没有解决此问题的方法?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。