C# MVC 处理视图中的编译错误,例如缺少程序集参考? [复制]

Posted

技术标签:

【中文标题】C# MVC 处理视图中的编译错误,例如缺少程序集参考? [复制]【英文标题】:C# MVC Handle compilation error in views e.g. missing an assembly reference? [duplicate] 【发布时间】:2018-07-05 12:34:27 【问题描述】:

我的问题是关于处理“缺少程序集引用?”之类的错误。在视图中特别是 layout.cshtml

例如如果我在 layout.cshtml 的 Head 标记中有一些代码

<head>

@
  @

        try
        
            var EnableSomething = BusinessLogic.MyBLL.GetSetting("SettingName");
        
        catch  
    


</head>

这将正常工作,但如果有人来将 Layout.cshtml 中的“MyBLL”更改为“MyBLL1”或删除 BusinessLogic DLL 或更改 DLL,以使该 DLL 中不存在“MyBLL”。

是否有办法在 layout.cshtml 本身中处理这种情况? 我知道这是一个奇怪的情况,但只是想知道是否有任何方法可以处理这种情况。

谢谢大家。

【问题讨论】:

该代码属于您的控制器,而不是视图。 MyBLL 是上课吗? BusinessLogic 是命名空间吗? @StephenMuecke 你是对的,这段代码应该在控制器中,但在这种情况下它在视图中( layout.cshtml )。当有人在上述情况下请求页面时,它会给出编译错误。 @daniel.shih 是的,没错。 @Deepak 你已经知道你的问题是什么了。代码在,它不应该在的地方。移动它并获得编译时错误。使用 viewmodel 或 ViewData 将信息传递到视图中 【参考方案1】:

你可以尝试安装RazorGenerator的Nuget

如果构建视图失败会导致构建中断,所以在“MyBLL”到“MyBLL1”的情况下

【讨论】:

以上是关于C# MVC 处理视图中的编译错误,例如缺少程序集参考? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

缺少定义 MVC 视图 Visual Studio Intellisense

使用 CSC 编译 C# 代码 - excel 互操作

“您是不是缺少程序集参考?”编译错误 - Visual Studio

MVC 脚手架 - 参考程序集中缺少类

c#引用其它程序的程序集时报错

asp.net(c#)出现一个错误:是不是缺少程序集引用?