【发布时间】:2016-10-05 13:18:03
【问题描述】:
我的项目中有以下代码。出于此交换的目的,可以注释掉其中的其他代码。
namespace Project.HttpHandlers
{
public class Web : IHttpHandler
{
/// <summary>
/// Gets a value indicating whether another request can use the
/// <see cref="T:System.Web.IHttpHandler"/> instance.
/// </summary>
/// <returns>
/// true if the <see cref="T:System.Web.IHttpHandler"/> instance
/// is reusable; otherwise, false.
/// </returns>
public bool IsReusable => false;
}
}
Visual Studio 在“public bool IsReusable => false;”上抛出错误声明“;预期”的行。
在 => 运算符上突出显示智能感知错误时,我得到“声明意外结束”。
如果我将其更改为“public bool IsReusable = false;”错误消失了。我不完全知道这条线的功能以及为什么那里有一个 lambda 运算符,所以我不想这样做。我知道它可以在同事的机器上编译,而且我看到它在网络上的其他地方被引用。
我似乎缺少 Visual Studio 中的引用或其他内容,但我找不到它。
【问题讨论】:
-
您确定您的 iis 实例支持 C#6 吗?我自己从未使用过它,但我认为您需要使用 asp.net core 才能获得这些功能。
-
@ScottChamberlain 不会是 VS 的版本,因为 C#6 是编译器。
-
尝试在 VS 2013 中使用新语法时出现同样的错误,所以我猜你的编译器或 IDE 不支持 C# 6。
-
@juharr 这取决于 OP 是否正在将 dll 部署到 IIS 或正在部署 .cs 文件并让服务器对其进行编译。如果服务器正在编译它,那么你用来编写它的 VS 版本无关紧要。
-
@juharr - 根据使用的 ASP.Net 的“模型”,部分或全部代码在网站启动或请求特定页面之前不会编译。
标签: c# asp.net lambda httphandler ihttphandler