Когда я делаю "C:\Program Files\Mono-2.8.1\bin\mono.exe" "C:\Program Files\MonoDevelop\bin\MonoDevelop.exe"
, проблема исчезает.
Понятно, что при запуске MonoDevelop.exe он работает в Microsoft .NET, и проблема в том, что MonoDevelop (сборка .NET 2.0) не может распознать сборку (.NET 4.0) с использованием API 2.0.
Давайте посмотрим на код (MonoDevelop.Ide.Projects.AssemblyReferencePanel):
private void SelectReferenceDialog(object sender, EventArgs e)
{
string[] array = new string[this.chooser.Filenames.Length];
this.chooser.Filenames.CopyTo(array, 0);
foreach (string str in array)
{
bool flag = true;
try
{
AssemblyName.GetAssemblyName(Path.GetFullPath(str));
}
catch
{
flag = false;
}
if (flag)
{
this.selectDialog.AddReference(new ProjectReference(ReferenceType.Assembly, str));
}
else
{
MessageService.ShowError(GettextCatalog.GetString("File '{0}' is not a valid .Net Assembly", str));
}
}
}
Строка AssemblyName.GetAssemblyName(Path.GetFullPath(str));
является источником всего зла.Я собираюсь опубликовать отчет об ошибках в novell.Или это не ошибка?