【问题标题】:Is it possible to give a custom build error with T4?是否可以使用 T4 给出自定义构建错误?
【发布时间】:2017-09-06 07:28:09
【问题描述】:

类似

<#
GiveError("Something is not right");
#>

然后将在错误列表中显示为编译错误以及其他编译错误。这可能有助于为程序员提供有关问题所在的更具体的信息,而不是仅仅在目标文件中使用 ErrorGeneratingOutput 消息退出。

【问题讨论】:

  • 我没用过T4,但它是C#所以你应该可以使用"throw new Exception("Error");"
  • @Noren:那不会是编译错误。
  • 您可以使用#error pragma 生成无法编译的代码 - 这就是您所追求的吗?不过,这与完全停止生成并不完全相同。 (我不确定你在找哪个...)
  • @JonSkeet 停止生成并立即给出错误是我所追求的,但任何接近的东西都值得了解。带有错误编译指示的建议还不错!
  • 好的,将其添加为答案。

标签: c# t4


【解决方案1】:

我对 T4 生成一无所知,因此我无法通过有用的消息来停止生成过程,但您可能会发现最好只生成一个 #error pragma,例如

#error No configuration found for X

理想情况下,文件的其余部分应该仍然有效(或有更多错误报告),以便您最终得到您想要报告的错误。

与暂停相比,这样做的一个好处是,如果有多个问题需要修复,开发人员可以一次性解决所有问题。缺点是(取决于您生成的内容)单个配置问题可能会导致数千个错误,无济于事。

【讨论】:

    猜你喜欢
    • 2015-12-18
    • 2019-07-30
    • 1970-01-01
    • 1970-01-01
    • 2020-08-03
    • 1970-01-01
    • 2017-03-17
    • 1970-01-01
    • 2020-02-17
    相关资源
    最近更新 更多