【发布时间】:2017-01-19 22:15:11
【问题描述】:
我有一个旧的解决方案,不久前已升级到 C# 6,我们在大部分代码中都在使用它。由于它的年代久远,它有各种各样的项目类型,从老式的 asp.net 一直到 web api 2。然而,由于某种原因,传统 asp.net 项目中的 ashx 文件仍然以 C# 5 为目标,因此我们不能在那里使用一些较新的语言功能(请注意,C# 代码是在 ashx 文件中内联定义的,没有单独的 ashx.cs 文件)。如何升级 ashx 文件的编译器?后续问题 - 我如何让它继承解决方案其余部分使用的编译器版本?
【问题讨论】:
-
为什么不升级项目的.NET版本?
-
已经在 4.5.1,实际上 C# 6 在项目的其他地方使用 - 实际上只是 ashx 文件在抱怨
-
它抱怨什么?奇怪...但是您可以在不使用 ashx 的情况下重写处理程序,例如:
public class SyncHandler : IHttpHandler。然后在 web.config 中注册它。都是一样的。 -
红色波浪线,这个功能在 C# 5 中是不可用的。那种东西。
-
这就是你的想法,但我可以附上截图证明相反;-)