web-dev-qa-db-fra.com

Échec de la co-création d'une erreur dans le profileur, mais pas avec un profileur

Nous obtenons un:

.NET Runtime version 2.0.50727.5448 - Échec de la co-création du profileur

message dans l'observateur d'événements sur notre serveur Web, avec un accompagnement:

.NET Runtime version 4.0.30319.239 - Le chargement du profileur a échoué au cours de CoCreateInstance. Identificateur de fichier CLSID: '{d37a1b78-6dc5-46fc-bc31-f7c4d5a11c9c}'. HRESULT: 0x8007007e. ID de processus (décimal): 224. ID de message: [0x2504].

Le fait est que nous n'essayons pas d'utiliser un profileur, aucun profileur n'est en cours d'exécution ou installé sur le serveur et le code ne fait aucune référence aux profileurs, où que ce soit ...

Nous avons essayé de supprimer les clés de registre que d'autres ont mentionnées sont liées à ces messages, mais en vain. il semblerait que deux de nos sites Web/applications Web déclenchent l'erreur, l'une utilisant .Net2 et l'autre utilisant 4, mais je ne sais pas trop où chercher.

28
Dale

Après de longues recherches, j'ai découvert que quelqu'un avait déjà installé dotTrace, puis l'avait désinstallé. Cependant, la désinstallation n'était pas très propre et laissait le registre encombré d'entrées. à ce profileur.

Après la suppression de toutes les entrées de registre liées à dottrace et au CSID présenté, l'erreur ne s'affiche plus dans l'afficheur d'événements.

Voir cette réponse pour un script permettant de retrouver de telles entrées: https://stackoverflow.com/a/36129656/361842

24
Dale

Supprimer la variable d'environnement COR_ENABLE_PROFILING (ou la définir sur 0) de variables utilisateur (Panneau de configuration> Système> Paramètres système avancés> Variables d'environnement) a résolu mon problème (impossible de démarrer MongoVUE)

15
Andreas

Bien que la suppression de toutes les références au CLSID du profileur dans le registre ne puisse être une mauvaise chose, vous pouvez également choisir de simplement désactiver le profilage en définissant la clé de registre HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\COR_ENABLE_PROFILING sur 0

13
Kevin Gosse

Pour trouver où utiliser cet outil, vous pouvez utiliser le code PowerShell ci-dessous pour détecter les variables d'environnement et les entrées de registre relatives au profileur:

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

J'espère que cela aidera les autres à l'avenir.

9
JohnLBevan

 regedit

  1. À l'aide de regedit, effectuez une recherche Data de la valeur CLSID dans le journal des erreurs.
  2. Supprimer COR_PROFILER et sa valeur
  3. Remplacez Cor_Enable_Profiling = 1 par Cor_Enable_Profiling = 0
  4. Ne supprimez pas le paramètre Cor_Enable_Profiling pour les éléments suivants 
  5. HKEY_LOCAL_MACHINE\SYSTEM\Services\WAS
  6. HKEY_LOCAL_MACHINE\SYSTEM\Services\W3SVC
  7. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\IISADMI‌ N
  8. cela pourrait provoquer l'échec de démarrage de IIS. Voir ci-dessous pour plus de détails. https://serverfault.com/questions/210903/windows-process-activation-service-wont-start-parameter-is-incorrect-visual/210912
  9. Vous devrez peut-être également supprimer/désactiver des variables utilisateur et système supplémentaires. Essayez de désactiver d'abord (COR_ENABLE_PROFILING = 0) delete si l'erreur persiste. J'espère que cela pourra aider. Merci @Andreas et @ Mike-Monkey pour les conseils initiaux.

 Environment Variables

5
Geovani Martinez

Pour nous, COR_ENABLE_PROFILING était à plusieurs endroits 

HKEY_LOCAL_MACHINE\SYSTEM \\ Services\W3SVC et HKEY_LOCAL_MACHINE\SYSTEM \\ Services\WAS

1
Mike-Monkey

Nous voyons ce problème de temps en temps lorsque nous essayons de démarrer Windows Services.
Ce problème est invariablement que le fichier app.config de l’exécutable est corrompu (xml non valide).
Vérifier que votre app.config est valide xml est une chose facile à vérifier avant de vous diriger pour modifier les paramètres du registre.

0
Scott

Les choses ne fonctionnaient pas même après avoir fait ce que mentionné dans Answer de Agnes. Dans mon cas, mon pool d'applications était défini sur un compte et son mot de passe a expiré ...

0
user007

Stackify Profiler fera également la même chose pour vous. :(, je trouve difficile de supprimer du registre.

0
Omzig