【问题标题】:T4MVC Exclude File or ControllerT4MVC 排除文件或控制器
【发布时间】:2012-09-06 00:23:30
【问题描述】:

我有一个仅在 Debug 中内置的控制器(使用 #if DEBUG),我用它来容纳一些我不希望在生产服务器上使用的测试方法。

我遇到的问题是,使用 T4MVC 我得到了一个基于控制器的派生类,其中所有方法都重载。一旦我尝试在发布模式下构建,基类和虚拟操作方法就不再存在并且我得到构建错误。

理想情况下,我希望能够从 T4MVC 中排除控制器,但我在设置文件中看不到执行此操作的方法,并且此问题的答案:T4MVC How to Exclude Individual Files 表明这是不可能的。

任何人都知道一种方法或可以想到一个好的解决方法?

【问题讨论】:

    标签: asp.net-mvc-3 t4 t4mvc


    【解决方案1】:

    在控制器上使用 T4MVC 属性

    [T4MVC(false)]
    public Controller ControllerToIgnore //...
    

    为我的目的工作(排除特定控制器的生成)。

    来自T4MVC documentation

    【讨论】:

      【解决方案2】:

      考虑将您的测试方法和控制器分离到一个单独的项目中,该项目取决于您的生产代码。这样你就不需要#if Debug 的东西了。我不确定您的设置是什么,但您可以尝试使用包含在 #if !Debug 子句中的 NonActionAttribute。因此,您的生产代码不会将这些方法作为控制器上的操作运行。但这与项目布局错误有关。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-28
        • 2012-07-11
        相关资源
        最近更新 更多