Asp.net mvc 3 razor能否在ASP.net MVC中使用exe而不是dll中的对象进行查看

Asp.net mvc 3 razor能否在ASP.net MVC中使用exe而不是dll中的对象进行查看,asp.net-mvc-3,razor,Asp.net Mvc 3,Razor,我有一个项目,它通过XML将系统的状态发送给客户机。我有另一个项目是ASP.NETMVC项目。如果我使用第一个项目的dll,那么我没有任何问题。如果使用第一个项目中的exe,则会出现以下错误: The type or namespace name 'XXXX' does not exist in the namespace 'YYYYY' (are you missing an assembly reference?) 我认为这个错误是在呈现页面时发生的。我不确定razor是如何工作的,但它似

我有一个项目,它通过XML将系统的状态发送给客户机。我有另一个项目是ASP.NETMVC项目。如果我使用第一个项目的dll,那么我没有任何问题。如果使用第一个项目中的exe,则会出现以下错误:

The type or namespace name 'XXXX' does not exist in the namespace 'YYYYY' (are you missing an assembly reference?)
我认为这个错误是在呈现页面时发生的。我不确定razor是如何工作的,但它似乎创建了临时类

public class _Page_Views_Status_Index_cshtml : System.Web.Mvc.WebViewPage<xxxx.yyyy.Monitoring.SystemStatus>
public class\u Page\u view\u Status\u Index\u cshtml:System.Web.Mvc.WebViewPage

我们不能引用exe中的类吗?我看不出这有什么理由不起作用。

可能您尝试使用的类位于DLL中,而不是EXE中,因此您需要引用DLL。您也可以引用EXE(程序集),但在这种情况下,请确保错误消息中显示的类在此EXE中实际存在

因此,您可以拥有以下解决方案结构:

  • SomeProjectLib(包含YYYYY.XXXX类的类库)
  • SomeProjectWin(引用类库并使用类库中的类的exe)
  • SomeProjectWeb(一个ASP.NET MVC项目,它引用类库并使用类库中的类)

类肯定在exe中。我正在将项目的输出类型从控制台(exe)更改为类库(dll),当它是dll时,它可以工作。当它是exe时,它不会。也许我需要再看看。我认为这是剃刀的问题。我仍然得到那个错误,只有当我改变项目类型为exe。控制器没有问题。似乎是在视图尝试渲染时。您是否找到解决此问题的方法?