1

当我的 Forms Authentication LoginURL 是 .asp 页时,我的 ASP.NET 应用程序可以正常工作。但是,我的应用程序的其余部分在 Razor 中,我无法使布局与其他页面相匹配。我尝试将其替换为 CSHTML 页面 login.cshtml,但在 Visual Studio 中出现此错误:

Warning 2   C:\Users\ddelgrande\Documents\Visual Studio 2010\Projects
\ABMCEditAndReports\ABMCEditAndReports\RazorLogin.cshtml:
ASP.NET runtime error: The pre-application start initialization method Start
on type System.Web.WebPages.Deployment.PreApplicationStartCode threw an
exception with the following error message:
Exception has been thrown by the target of an invocation..

对于我在 Visual Studio 中打开的每个 .CSHTML 页面,该错误都会出现一次。

以下是我的 web.config 中的 Configuration/AppSettings 值:

<appSettings>
  <add key="webpages:Version" value="1.0.0.0"/>
  <add key="ClientValidationEnabled" value="true"/>
  <add key="UnobtrusiveJavaScriptEnabled" value="true"/>
</appSettings>

删除网页密钥并不能解决问题。

请注意,我使用的是 MVC 3。

我正在尝试做的事情是否可能,如果是这样,我该如何解决这个问题?

4

1 回答 1

0

看起来您只需要在您的项目中引用“ASP.NET 网页”,如果我正确阅读了这篇博文,就可以将.cshtml文件用作常规页面。

http://blogs.msdn.com/b/davidebb/archive/2010/07/07/how-webmatrix-razor-asp-net-web-pages-and-mvc-fit-together.aspx

这给了你一个开始,但它说安装 webmatrix(啊!)。

http://www.asp.net/web-pages/tutorials/introducing-aspnet-web-pages-2/getting-started

如果您安装了 nuget,似乎确实有一个 nuget

http://www.nuget.org/packages/Microsoft.AspNet.WebPages

不过,不确定这是否适用于 mvc3。嗯。

于 2013-09-30T16:24:35.230 回答