web-dev-qa-db-ja.com

プロファイラのCoCreateに失敗しました-プロファイラを使用していません

取得しています:

.NETランタイムバージョン2.0.50727.5448-CoCreateプロファイラーの失敗

webサーバーのイベントビューアーのメッセージと付随するメッセージ:

.NETランタイムバージョン4.0.30319.239-CoCreateInstance中にプロファイラーのロードに失敗しました。プロファイラーCLSID: '{d37a1b78-6dc5-46fc-bc31-f7c4d5a11c9c}'。結果:0x8007007e。プロセスID(10進数):224。メッセージID:[0x2504]。

問題は、プロファイラーを使用しようとしていないこと、プロファイラーがサーバー上で実行またはインストールされていないこと、およびコードがプロファイラーをどこにも参照していないことです...

他の人が指摘しているレジストリキーを削除しようとしましたが、これらのメッセージに関連していますが、役に立ちません。 2つのWebサイト/ webappがエラーを発生させているように見えます。1つは.Net2を使用しており、もう1つは4を使用しています。

30
Dale

多くの検索の後、誰かが以前にdotTraceをインストールしてからアンインストールしたことがわかりましたが、アンインストールはあまりきれいではなく、レジストリにエントリが散らかっていましたが、より具体的な問題を停止できると考えたエントリを削除しましたそのプロファイラーに。

ドットトレースに関連するすべてのレジストリエントリと表示されたCSIDを削除した後、イベントビューアーにエラーが表示されなくなりました。

このようなエントリを探し出すのに役立つスクリプトについては、この回答を参照してください。 https://stackoverflow.com/a/36129656/361842

27
Dale

環境変数COR_ENABLE_PROFILINGを削除(または0に設定)してユーザー変数(コントロールパネル>システム>詳細システム設定>環境変数)から問題を解決しました(MongoVUEを起動できませんでした)

17
Andreas

レジストリ内のプロファイラーのCLSIDへのすべての参照を削除することは悪いことではありませんが、レジストリキーHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\COR_ENABLE_PROFILINGから0

14
Kevin Gosse

このツールを使用できる場所を見つけるために、以下の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

将来的に他の人を助けることを願っています。

10
JohnLBevan

regedit

  1. regeditを使用して、DataエラーログでCLSID値を検索します
  2. COR_PROFILERとその値を削除します
  3. Cor_Enable_Profiling = 1をCor_Enable_Profiling = 0に変更します
  4. 次のいずれかのCor_Enable_Profiling設定を削除しますnot
     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。

Environment Variables

6

私たちにとって、COR_ENABLE_PROFILINGは複数の場所にありました

HKEY_LOCAL_MACHINE\SYSTEM \\ Services\W3SVCおよびHKEY_LOCAL_MACHINE\SYSTEM \\ Services\WAS

1
Mike-Monkey

この問題は、Windowsサービスを開始しようとするときに時々発生します。
この問題は、常に実行可能ファイルのapp.configが破損していることです(有効なxmlではありません)。

0
Scott

Agnesの Answer で言及されていることを行っても、物事は機能しませんでした。私の場合、アプリケーションプールをアカウントに設定しましたが、パスワードの有効期限が切れていました...

0
user007

Stackify Profilerも同じことを行います。 :(、レジストリから削除するのが難しいと感じています。

0
Omzig