我编写了一个 C# 预处理器,通过使用 BeforeBuild MSBuild 目标调用它,我已将其合并到我的 .csproj 项目中。这可以正常工作,除非预处理器修改了项目中的一个或多个 C# 源文件(很少发生),C# 编译步骤使用源文件的缓存版本。构建完成后,Visual Studio 会提示我一条消息“文件名-此-或-该文件已在源编辑器之外进行了修改。您要重新加载它吗?”。那么我必须回答是并重建项目以使其使用修改后的源文件。
有没有办法让 Visual Studio 检测到源文件已被修改并在其编译步骤中使用更新的版本?或者我应该以其他方式调用我的预处理器而不是使用 BeforeBuild 目标?