首页 > 解决方案 > ASP.NET 间歇性地获取编译器错误消息

问题描述

我有一个仅使用内联 C# 没有代码隐藏的 aspx 页面。
从 Visual Studio 运行它可以工作,但是将aspx文件添加到wwwroot我的本地计算机会给出消息

编译器错误消息:CS1513:} 预期

如果我重新排列代码以将方法置于代码之上,则消息将改为

CS1519:类、结构或接口成员声明中的标记“尝试”无效

我希望这与服务器配置有关,尽管我真的不知道从哪里开始。

仅当有方法时才会出现此问题,method1从下面删除会导致正确运行。

这是我能够导致错误的最小整个文件

html

<%@ Page Language="C#" %>
<%
    try
    {
        string message = "Text";
        Response.Write(method1(message));
    }
    catch
    {
        Response.Write("Err");
    }

    string method1(string source)
    {
        return source;
    }
%>

标签: c#asp.netwebforms

解决方案


我搞砸了 Visual Studio 项目,在早期版本的 .NET/C# 上运行会产生以下错误,这似乎是我遇到的实际问题

错误 CS8059 功能“本地函数”在 C# 6 中不可用。请使用语言版本 7.0 或更高版本。

我不确定为什么它认为method1是本地功能并且很难获得详细信息。

编辑:为了解决我的问题,我将方法放在脚本标签而不是嵌入式代码块中。然后可以从嵌入的块和脚本标签中使用这些方法。

<script runat="server">
    string method1(string source)
    {
        return source;
    }
<script>

推荐阅读