我编写了一个命令行OpenCL编译器。每当我构建包含它们的C#项目时,我都希望使用VS编译我的内核源文件。我环顾四周,发现了信息和自定义构建任务,自定义工具等,但我无法让它正常工作。
我如何告诉VS在源文件上运行我的exe,就像它为项目中的其他文件运行c#编译器等一样?
我通过调用Console.Error.WriteLine()
来报告此工具的错误。这样可以将错误放在“输出”窗格中,我可以在其中双击它们,将我带到.cl内核源文件中的适当位置。但是,错误不会出现在VS错误面板中。 ??
或者,如果有人知道现有的OpenCL编译器 - 为了编译内核而必须运行主机应用程序很烦人 - 我很感激链接。
我设法通过在项目选项中添加一个构建后步骤来实现这一目标。但是,我真的更喜欢为项目中的每个* .cl文件运行此exe。
更新在格式化错误消息时,我忽略了包含错误代码。将它们更正为匹配any of the formats listed here可以解决这个问题。但仍试图弄清楚如何将exe与给定的文件扩展名相关联。