Установка PublicationMonitor.ConnectionContext вызывает исключение NullReferenceException


Сначала я попробовал это:

var conn = new ServerConnection(@"SMTDEVSQL2008", "login", "password");
var pubMon = new PublicationMonitor("PRMDemoRep", "distribution", @"SMTDEVSQL2008", "PRMDemo", conn);

Если я установлю точку останова на второй строке, я смогу успешно выполнить следующий код из окна немедленного выполнения:

conn.ExecuteScalar("select 1");

Таким образом, я знаю, что ServerConnection работает правильно и определенно не null. Остальные параметры - это все строки, поэтому там не должно быть никаких проблем, но я продолжаю получать исключение NullReferenceException, когда я запускаю вторую строку.

Я также попытался использовать конструктор PublicationMonitor без параметров, и я возможность задать каждое из свойств строки таким образом, но когда я иду, чтобы установить ConnectionContext к моему ServerConnection, то я получаю NullReferenceException.

У кого-нибудь есть идеи, почему это должно произойти?

EDIT: я также только что попробовал это с классом ReplicationMonitor и столкнулся с той же проблемой. Я пытался указать его на несколько серверов, но всегда встречал исключение NullReferenceException.

1 3

1 ответ:

У меня была та же проблема, и я исправил ее, проверив, какую версию dll я использовал. Мой проект ссылался на сборки 2008 года (папка 100/SDK), однако мои локальные общие компоненты SQL были обновлены до 2012 года. Когда я изменил ссылку на 2012 assemblies (110 / SDK), это сработало.

Надеюсь, это поможет.