Решил познакомится с интеграцией, все скачалось, установилось и скомпилировалось отлично, но при попытке открыть или создать Nemerle-проект сразу же наткнулся на баг.
Класс NemerleLanguageService не может проинициализироваться, если в текущий аппдомен загружены динамические сборки. Непосредственно ошибка возникает в конструкторе класса IntelliSenseModeLibraryReferenceManager, в строке, где он получает CodeBase сборок:
foreach (assembly in AppDomain.CurrentDomain.GetAssemblies())
{
// Skip nameless and satellite assemblies
//
def assemblyName = assembly.GetName();
unless (assemblyName == null || assemblyName.Name.EndsWith(".resources"))
{
def path = Uri(assembly.CodeBase).LocalPath;
def fileTime = GetLastWriteTimeUtc(path);
assByString[path] = (assembly, fileTime);
assByStrongName[assembly.FullName] = assembly;
}
}
При обращении к assembly.CodeBase получаем ошибку:
assembly.CodeBase' threw an exception of type 'System.NotSupportedException'
base {System.SystemException}: {"The invoked member is not supported in a dynamic assembly."}
В итоге для пользователя все выливается в MessageBox
---------------------------
Microsoft Visual Studio
---------------------------
Value cannot be null.
Parameter name: languageService
---------------------------
ОК Отмена
---------------------------
, проекты немерле не загружаются, а также не проходят юнит-тесты интеграции.
Сборка, на которой код спотыкается, как-то относится к плагину RedGate SQL Propmt, установленному у меня. При его отключении все заработало нормально.