6

我有一个已经工作了一段时间的应用程序。我尝试使用 VS2013 运行它,它挂在尝试初始化 DataCacheFactory 对象的行上。相同的代码适用于 VS2010 和 VS2012。

    private static DataCacheFactory GetDataCacheFactory()
    {
        if (factory == null)
        {
            lock (lockObject)
            {
                if (factory == null)
                {
                    factory = new DataCacheFactory();  //VS2013 hangs on this line
                }
            }
        }
        return factory;
    }

不会产生错误。代码只是挂在行上factory = new DataCacheFactory()

AppFabric DLL 是当前版本。

我欢迎任何有关确定代码为何挂在此行上的建议。

4

2 回答 2

0

我已经解决了这个问题,但我不知道是什么原因造成的。我尝试使用 DebugDiag 进行转储并进行分析。分析表明,该进程正在等待某些 Microsoft 代码的兼容性模块中的某些内容完成。

我注意到 IIS 8 安装了两个兼容性数据库。我卸载了这两个项目并尝试再次运行我的应用程序。这次应用程序成功执行了挂起的行。

虽然这解决了这台机器上的问题,但我仍然不知道是什么导致了问题。我有一个配置类似的同事,他对挂在上面一行的应用程序没有任何问题,即使安装了兼容性数据库也是如此。

于 2014-03-27T20:41:53.117 回答
0

当您在 VS 上开发应用程序时,这可能是一个 .net 应用程序。在 VS13 上运行时,请从项目属性中检查目标 .net 框架版本。

于 2014-01-20T12:12:54.280 回答