无法CoCreate Profiler错误 - 但未使用分析器

时间:2012-04-04 14:43:03

标签: asp.net .net iis profiler

我们得到了:

  

.NET Runtime版本2.0.50727.5448 - 无法CoCreate Profiler

我们的网络服务器上的事件查看器中的

消息以及附带的信息:

  

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

问题是,我们没有尝试使用分析器,服务器上没有运行或安装的分析器,代码也没有在任何地方引用分析器......

我们已经尝试删除其他人指出的与这些邮件相关的注册表项,但无济于事;似乎我们的两个网站/网络应用程序正在解决错误,一个使用.Net2而另一个使用4,但我不确定在哪里看。

9 个答案:

答案 0 :(得分:25)

经过多次搜索,我发现之前有人安装了dotTrace,然后卸载了它,但是卸载不是很干净,并且已经让注册表中的条目乱七八糟,虽然我们删除了一些我们认为可以阻止问题的条目更具体的是那个剖析器。

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

有关脚本的帮助,请参阅此答案:https://stackoverflow.com/a/36129656/361842

答案 1 :(得分:16)

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

答案 2 :(得分:14)

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

答案 3 :(得分:9)

为了帮助找到可以使用此工具的位置,可以使用以下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

希望将来帮助他人。

答案 4 :(得分:5)

regedit

  1. 使用 regedit 执行数据搜索错误日志中的CLSID值
  2. 删除COR_PROFILER及其值
  3. 将Cor_Enable_Profiling = 1更改为Cor_Enable_Profiling = 0
  4. 请勿删除以下
  5. 的Cor_Enable_Profiling设置
  6. HKEY_LOCAL_MACHINE \ SYSTEM \服务\ WAS
  7. HKEY_LOCAL_MACHINE \ SYSTEM \服务\ W3SVC
  8. HKEY_LOCAL_MACHINE \ SYSTEM \ CURRENTCONTROLSET \服务\ IISADMIÑ
  9. 这样做可能会导致IIS无法启动。有关详细信息,请参阅以下内容https://serverfault.com/questions/210903/windows-process-activation-service-wont-start-parameter-is-incorrect-visual/210912
  10. 您可能还需要删除/禁用其他用户和系统变量。如果错误仍然存​​在,请先尝试禁用(COR_ENABLE_PROFILING = 0)。希望有所帮助。感谢@Andreas和@ Mike-Monkey的初步指导。
  11. Environment Variables

答案 5 :(得分:1)

对我们来说COR_ENABLE_PROFILING在多个地方

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

答案 6 :(得分:0)

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

答案 7 :(得分:0)

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

答案 8 :(得分:0)

即使执行了Agnes的Answer中提到的内容,事情仍然无法解决。就我而言,我已将我的应用程序池设置为一个帐户,并且密码已过期...