У нас есть некоторые модульные тесты, выполняемые с базой данных SQL Server 2000, с использованием класса DatabaseTestFixture, который использует TransactionScope, который не выполняется, и поэтому все изменения откатываются назад. Тестирование проходило против локальной базы данных без проблем.Почему тесты базы данных VS с использованием TransactionScope и MSDTC терпят неудачу?
Затем мы указали единичные тесты на общем сервере базы данных и установили MSDTC на машине, на которой выполняются модульные тесты, и все хорошо с этой машиной.
Теперь, хотя мы установили новую машину, которая будет запускать модульный тест, также против одной и той же общей базы данных. Испытательная установка не работает на этой машине, мы получим следующее сообщение об ошибке:
System.Transactions.TransactionException : The transaction has already been implicitly or explicitly committed or aborted.
В MSDTC настройки точно такие же, как и тот, который работает, мы сравнили экран на экране.
Кто-нибудь испытал что-то подобное раньше? Или есть какие-то указатели на то, где мы можем искать подсказки относительно того, что может вызвать это?
Мы проверили версии Windows и пакеты обновления, параметры брандмауэра, параметры msdtc, версии VS и пакеты обновления.
спасибо, что у меня была точно такая же проблема, и я не мог понять, что с ней не так. это простое исправление, исправлено для меня. – Somedeveloper