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个实验:

  1. tracker / if tlogsDir / c csc HelloWorld.cs
  2. 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能够检测整个进程树中的读写文件。可以使用例如记事本来读取/写入文件来轻松证明这一点:

  1. tracker.exe / if tlogsDir / c记事本
  2. tracker.exe / if cmd_tlogsDir / c cmd / c记事本

在两种记事本中,跟踪器都会生成正确的日志文件

是什么原因导致在使用'cmd / c csc HelloWorld.cs'运行时无法跟踪csc? 为什么csc在这方面的行为与例如记事本? 有没有解决此问题的方法

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...