C # MonoDevelop: недопустимый -langversion CS1617

#c# #mono #monodevelop

#c# #mono #monodevelop

Вопрос:

Я только что установил MonoDevelop 5.0.1 в Ubuntu 12.04 и попытался скомпилировать простой Привет, Мир. Это приводит к следующей ошибке сборки:

 Error CS1617: Invalid -langversion option `Version5'. It must be `ISO-1', `ISO-2', `3', `4', `5', `Default' or `Future' (CS1617)
  

Я просмотрел параметры, и все, что я нашел, похоже, настроено правильно. Правка> Настройки> Проекты> Среды выполнения .NET включает Mono 3.2.1.

Единственный раздел, к которому я не могу получить доступ, — это Проект> Параметры проекта> Сборка> Общие, что приводит к возникновению исключения:

 System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Exception: Unknown LangVersion string ''
  at MonoDevelop.CSharp.Project.CSharpCompilerParameters.get_LangVersion () [0x00000] in <filename unknown>:0 
  at MonoDevelop.CSharp.Project.CompilerOptionsPanelWidget..ctor (MonoDevelop.Projects.DotNetProject project) [0x00000] in <filename unknown>:0 
  at MonoDevelop.CSharp.Project.CompilerOptionsPanel.CreatePanelWidget () [0x00000] in <filename unknown>:0 
  at MonoDevelop.Ide.Gui.Dialogs.OptionsDialog.CreatePageWidget (MonoDevelop.Ide.Gui.Dialogs.SectionPage page) [0x00000] in <filename unknown>:0 
  at MonoDevelop.Ide.Gui.Dialogs.OptionsDialog.ShowPage (MonoDevelop.Ide.Extensions.OptionsDialogSection section) [0x00000] in <filename unknown>:0 
  at MonoDevelop.Ide.Gui.Dialogs.OptionsDialog.OnSelectionChanged (System.Object s, System.EventArgs a) [0x00000] in <filename unknown>:0 
  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exceptionamp;)
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0 
  --- End of inner exception stack trace ---
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0 
  at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <filename unknown>:0 
  at System.Delegate.DynamicInvokeImpl (System.Object[] args) [0x00000] in <filename unknown>:0 
  at System.MulticastDelegate.DynamicInvokeImpl (System.Object[] args) [0x00000] in <filename unknown>:0 
  at System.Delegate.DynamicInvoke (System.Object[] args) [0x00000] in <filename unknown>:0 
  at GLib.Signal.ClosureInvokedCB (System.Object o, GLib.ClosureInvokedArgs args) [0x00000] in <filename unknown>:0 
  at GLib.SignalClosure.Invoke (GLib.ClosureInvokedArgs args) [0x00000] in <filename unknown>:0 
  at GLib.SignalClosure.MarshalCallback (IntPtr raw_closure, IntPtr return_val, UInt32 n_param_vals, IntPtr param_values, IntPtr invocation_hint, IntPtr marshal_data) [0x00000] in <filename unknown>:0 
  

Такая же ошибка уже произошла в MonoDevelop 2. что-то из диспетчера пакетов Ubuntu.

Ответ №1:

Я не могу помочь вам с решением, но я могу объяснить вам, почему это происходит —

Пожалуйста, посетите эти ссылки —

  1. Причина http://msdn.microsoft.com/en-us/library/ydy7a2we (v= против 90).aspx

  2. Mono разрабатывает системные требования.

http://monodevelop.com/developers/building_monodevelop

Убедитесь, что MonoDeveloper поддерживает версию Mono, которую вы используете.

Комментарии:

1. Да, моя система соответствует требованиям.

Ответ №2:

Я (думаю, что я) нашел проблему, и теперь она, похоже, работает правильно. По-видимому, по какой-то причине один из файлов проекта был поврежден. Помогло удаление старого проекта и создание нового.