System.AppDomainUnloadedException:尝试访问已卸载的AppDomain

时间:2017-04-28 17:45:56

标签: c# azureservicebus

在输出窗口中创建服务总线主题低于异常时。由于这一点,后续构建失败,因为vstest.executionengine.exe进程未正确终止。不得不杀死这个过程,使它工作。怎么解决这个?使用最新版本的servicebus 4.0

    [TestMethod]
    public void TestMethod1()
    {

        string connectionString = "Sb-connection-string";

        var namespaceManager =
            NamespaceManager.CreateFromConnectionString(connectionString);

        if (!namespaceManager.TopicExists("TestTopic"))
        {
            namespaceManager.CreateTopic("TestTopic");
        }

    }

Exception:
System.AppDomainUnloadedException: Attempted to access an unloaded AppDomain. This can happen if the test(s) started a thread but did not stop it. Make sure that all the threads started by the test(s) are stopped before completion.

2 个答案:

答案 0 :(得分:1)

我也责备我。根据例外情况,似乎线程没有停止。

enter image description here

  

如何解决这个问题?

为了确保测试启动的所有线程在完成之前停止。我在代码的末尾添加了Thread.Sleep(2*1000);。 然后就解决了。

   string connectionString = "Sb-connection-string";

   var namespaceManager = NamespaceManager.CreateFromConnectionString(connectionString);

   if (!namespaceManager.TopicExists("TestTopic"))
   {
       namespaceManager.CreateTopic("TestTopic");
   }

   Thread.Sleep(2*1000);

enter image description here

答案 1 :(得分:1)

我有同样的问题我看到vstest.executionengine.x86.exe在测试执行后没有关闭,当运行测试两次它启动另一个进程并得到错误时,我得到的解决方案是取消选中{ Visual Studio中的{1}}