我有一个网络应用程序,我的任务是尝试调试和修复。不是我的代码。 该应用程序的目标是4.0框架,尽管我可以说是C# version 4.0。
网站无法编译,并且出现以下错误:Default parameter specifiers are not permitted.
它在两个方面抱怨,这是其中之一:
private static void setDateCell(string cellXY, object value, string format = "MM/dd/yyyy") {
另一个点是类似的函数声明,但是对于数字和不同的默认格式。
据here我所知,C#的v4.0是在引入默认参数时。我已经仔细检查了网站属性页面,以确保它的目标是Framework 4.0。所以我不确定为什么抱怨有可选参数。
我尝试过aspnet_regiis -i
;没有快乐。
有什么想法吗?
我们使用的是VS2010 Express。我们目前正在安装VS2015 Express ......看看它是否可能是2010年的一个问题。
答案 0 :(得分:2)
检查targetFramework
的{{1}}节点的<compilation>
属性。
也许它出于某种原因而被困在低于4.0的东西上。检查/修复此问题的另一种方法是将项目切换到3.5,然后再切换到4.0。
答案 1 :(得分:0)
感谢Serge,他的回答让我解决了这个问题。 Visual Studio 2010不支持使用该属性进行编译。我们在机器上安装了VS2015,并在那里进行了编辑,然后我们就可以定位更高的Framework版本,并继续使用。