我们使用DatabaseTestFixture类针对 SQL Server 2000 数据库运行了一些单元测试,该类使用未提交的 TransactionScope,因此所有更改都会回滚。测试针对本地数据库运行,没有问题。
然后,我们将单元测试指向一个通用数据库服务器,并在运行单元测试的机器上设置 MSDTC,这台机器一切正常。
现在虽然我们已经设置了一台新机器,它将针对相同的公共数据库运行单元测试。单元测试不在这台机器上运行,我们得到以下错误:
System.Transactions.TransactionException :事务已被隐式或显式提交或中止。
MSDTC 设置与正在运行的设置完全相同,我们逐屏比较。
有没有人经历过这样的事情?或者得到任何关于我们可以在哪里寻找可能导致它的线索的指示?
我们检查了 Windows 版本和服务包、防火墙选项、msdtc 选项、VS 版本和服务包。