37

我们得到一个:

.NET 运行时版本 2.0.50727.5448 - 无法共同创建探查器

我们网络服务器上的事件查看器中的消息,以及随附的:

.NET 运行时版本 4.0.30319.239 - 在 CoCreateInstance 期间加载探查器失败。探查器 CLSID:'{d37a1b78-6dc5-46fc-bc31-f7c4d5a11c9c}'。HRESULT:0x8007007e。进程 ID(十进制):224。消息 ID:[0x2504]。

问题是,我们没有尝试使用探查器,服务器上没有运行或安装探查器,并且代码在任何地方都没有引用探查器......

我们已尝试删除其他人指出与这些消息相关的注册表项,但无济于事;似乎我们的两个网站/网络应用程序正在触发错误,一个使用 .Net2,另一个使用 4,但我不知道去哪里找。

4

9 回答 9

28

经过大量搜索,我发现有人以前安装了 dotTrace,然后将其卸载,但是卸载不是很干净,并且注册表中到处都是条目,尽管我们删除了一些我们认为可以解决问题的条目,但有更具体的问题到那个探查器。

删除与 dottrace 相关的所有注册表项及其呈现的 CSID 后,我们不再在事件查看器中出现错误。

请参阅此答案以获取脚本以帮助查找此类条目:https ://stackoverflow.com/a/36129656/361842

于 2012-04-05T08:12:38.673 回答
20

从用户变量(控制面板>系统>高级系统设置>环境变量)中删除环境变量COR_ENABLE_PROFILING(或将其设置为0)解决了我的问题(无法启动MongoVUE)

于 2014-03-13T09:02:44.480 回答
16

虽然在注册表中删除对分析器 CLSID 的所有引用并不是一件坏事,但您也可以选择通过将注册表项设置为来禁用HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\COR_ENABLE_PROFILING分析0

于 2013-10-17T16:02:21.190 回答
12

为了帮助找到可以使用此工具的位置,可以使用以下 PowerShell 代码来帮助检测与探查器相关的环境变量和注册表项:

clear-host
if (-not (get-psdrive HKU)) {
    New-PSDrive HKU Registry HKEY_USERS
    Set-Location HKU:
}
"COR_ENABLE_PROFILING: $env:COR_ENABLE_PROFILING "
"COR_PROFILER: $env:COR_PROFILER"
$GUID = $env:COR_PROFILER
@(
    "HKLM:\Software\Classes\CLSID\$GUID",
    "HKLM:\SOFTWARE\Classes\Wow6432Node\CLSID\$GUID",
    "HKLM:\SOFTWARE\Wow6432Node\Classes\CLSID\$GUID",
    "HKU:\*\Software\Classes\CLSID\$GUID"
) |
    get-item  | 
    %{$p = $_.Name;Get-ItemProperty $_.PSPath ''} | 
    select @{N='Path';E={$p}}, '(default)'

get-itemproperty 'HKLM:\SYSTEM\CurrentControlSet\Services\*\' 'Environment' -ea SilentlyContinue | 
    %{
        $serviceName = $_.PSChildName
        $x = new-object PSObject -Property @{ServiceName=$serviceName}
        $_ | select -expand Environment | 
            %{if($_ -match '^(?<Name>[^=]+)(=)?(?<Value>.*)$'){$x | Add-Member -MemberType NoteProperty -Name $matches['Name'] -Value $matches['Value']}}
        $x
    } |
    ?{$_.COR_ENABLE_PROFILING -eq 1} | 
    ft ServiceName, COR_ENABLE_PROFILING, COR_PROFILER, NEWRELIC_INSTALL_PATH -AutoSize

希望将来可以帮助其他人。

于 2016-03-21T11:19:22.497 回答
10

注册表编辑器

  1. 使用regedit对错误日志中的 CLSID 值进行数据搜索
  2. 删除 COR_PROFILER 及其值
  3. 将 Cor_Enable_Profiling=1 更改为 Cor_Enable_Profiling=0
  4. 不要删除以下任何一项的 Cor_Enable_Profiling 设置
     HKEY_LOCAL_MACHINE\SYSTEM\Services\WAS
     HKEY_LOCAL_MACHINE\SYSTEM\Services\W3SVC
     HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\IISADMI‌​N
    
    这样做可能会导致 IIS 无法启动。有关更多详细信息,请参阅此问题
  5. 您可能还需要删除/禁用其他用户和系统变量。如果错误仍然存​​在,请尝试先禁用 (COR_ENABLE_PROFILING = 0) 删除。希望有帮助。感谢@Andreas 和@Mike-Monkey 的初步指导。

环境变量

于 2017-01-31T20:31:42.820 回答
1

对我们来说,COR_ENABLE_PROFILING 在多个地方

HKEY_LOCAL_MACHINE\SYSTEM\\Services\W3SVC 和 HKEY_LOCAL_MACHINE\SYSTEM\\Services\WAS

于 2015-08-07T19:49:47.700 回答
0

Stackify Profiler 也会对你做同样的事情。:(,我发现很难从注册表中删除。

于 2016-10-06T15:31:32.300 回答
0

我们在尝试启动 Windows 服务时不时会看到这个问题。
此问题始终是可执行文件的 app.config 已损坏(无效的 xml)。
在编辑注册表设置之前,仔细检查您的 app.config 是否是有效的 xml 是一件容易的事情。

于 2018-03-06T23:12:39.957 回答
0

即使做了艾格尼丝的回答中提到的事情,事情也没有奏效。就我而言,我将我的应用程序池设置为一个帐户,并且它的密码已过期......

于 2018-08-29T19:32:08.583 回答