0

我正在使用 C# 在 ASP.NET MVC 中开发一个网站。它在我的机器上运行良好,但是当我将它加载到生产服务器时,它会在尝试显示主页时产生错误。

该错误是由 ASP 系统正在使用 Visual Basic 编译 .ascx 页面这一事实引起的,当然,由于所有代码都在 C# 中,因此这不起作用。

我该如何解决?

4

3 回答 3

0

您的生产应用程序的应用程序配置中是否包含以下内容?

<compiler language="c#;cs;csharp" extension=".cs" warningLevel="4" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
    <providerOption name="CompilerVersion" value="v3.5"/>
    <providerOption name="WarnAsError" value="false"/>
</compiler>

此外,您是否已验证您的母版页/视图包含

<%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage<YourType>" %>

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<LoginPageView>" %>

语言规范?

于 2010-04-29T02:40:09.497 回答
0

我发现需要在web.config文件中指定默认的编译语言。

由于某种原因,这在我的项目(由 Visual Studio 模板构建)中没有指定。看起来,在本地运行时,ASP 系统正确推断出默认语言,但在远程服务器上运行时,它默认为 Visual Basic。

默认编译器语言设置如下:

<compilation
   defaultLanguage="c#"
/> 

其中编译标签位于配置标签中的 system.web 标签中。请注意,defaultLanguages 中有一个大写字母 L。另请注意,通常此标签已经存在,其中包含许多其他信息,您只需添加 defaultLanguage 属性。

于 2010-04-29T02:43:31.893 回答
0

我昨天遇到了这个问题,事实上...

在您的 .ascx 文件中,您需要在页面顶部包含具有适当语言属性的控制指令:

<%@ Control Language="C#" ... %>
于 2010-05-27T23:36:04.693 回答