2015-10-28 3 views
0

У меня есть веб-приложение. Мне было поручено отлаживать и исправлять. Не мой код. Приложение предназначено для 4.0 Framework, которое, насколько я могу судить, равно C# version 4.0.C# Параметры по умолчанию закричали около

Сайт не компилировать и дает следующее сообщение об ошибке: Default parameter specifiers are not permitted.

Он жалуется в двух местах, вот один из них:

private static void setDateCell(string cellXY, object value, string format = "MM/dd/yyyy") {

Другой точкой является аналогичной функции но для чисел и с другим форматом по умолчанию.

Насколько я могу судить по here, v4.0 из C# был, когда были введены параметры по умолчанию. Я дважды проверил страницы свойств веб-сайта, чтобы убедиться, что он нацелен на Framework 4.0. Поэтому я не уверен, почему он жалуется на наличие дополнительных параметров.

Я пробовал работать aspnet_regiis -i; нет радости.

Любые идеи?

Мы использовали VS2010 Express. В настоящее время мы устанавливаем VS2015 Express ... чтобы узнать, может быть, это проблема с 2010 года.

+3

Возможно, это связано с тем, что параметры по умолчанию не поддерживаются веб-службой или веб-приложением. И я думаю, что перегрузка также не поддерживается, поэтому вы не можете добавить два действия с тем же именем, но с разными параметрами. На пути к обработке, если пустым или нулевым переданы для 'format', а затем переустановите его на' 'MM/dd/yyyy '' – GreatAndPowerfulOz

ответ

2

Проверьте атрибут targetFramework узла <compilation> вашего Web.config. Возможно, это почему-то застряло на чем-то ниже 4.0. Другой способ проверить/исправить это - переключить ваш проект на 3.5, затем в 4.0 снова.

+0

Хм, у него был этот атрибут, но VS жаловался на него, поэтому я его вынул , Это также VS2010. Сейчас мы устанавливаем VS2015 на машине, чтобы посмотреть, может ли 2010 год не справиться с последним и самым большим беспорядком. Попробуете их, если проблема не исчезнет. – eidylon

0

Спасибо Сергу, который отвечает, включил меня в проблему. Visual Studio 2010 не поддерживает компиляцию с этим атрибутом. Мы установили VS2015 на машину и отредактировали ее там, а затем мы смогли настроить таргетинг на более высокую версию Framework и продолжить свой путь.

Смежные вопросы