Frage

Ein Nutzer berichtete uns, dass einige seltsame Verhalten in unserer Anwendung kann nach der Installation von .NET 4 behoben werden:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup>
    <supportedRuntime version="v2.0.50727" />
  </startup>
</configuration>

ich war nicht bewusst, dass, wenn Sie nicht eine Versammlung könnte es in einer höheren, aber kompatible Version geladen werden.

angegeben haben

Ist es möglich, zu erkennen, welcher Rahmen eine ausführbare Datei mit ausgeführt wird? zur Laufzeit? oder durch eine externe Prozess? Ich möchte bestätigen, dass dies der Fall ist, und die Benutzer Erfahrung hat das Ergebnis einer anderen Frage nicht sein.


Process Explorer sagt EVEMon unter der 2.0 läuft, bin ich geneigt, das Problem zu vermuten, wurde Umwelt:

Process Explorer

War es hilfreich?

Lösung

Von innerhalb Ihres Assembly Ausführen von Code, können Sie die System.Environment.Version statische Eigenschaft verwenden, um die CLR-Version zu bestimmen, unter denen sie ausgeführt wird.

Wenn Sie nicht wollen, den Assembler-Code zu ändern, können Sie Prozess verwenden Explorer die DLLs in dem Prozess zur Laufzeit geladen, um zu sehen. Die CLR-Version kann von der Version von mscoree.dll identifiziert werden.

Andere Tipps

Macht keinen Sinn, ein Programm, das für die CLR-Version 2.0.50727 gezielt wurde, wird mit .NET 4.0 nicht automatisch ausgeführt werden. Ein expliziter .config Dateieintrag ist erforderlich. Angesichts Können Ihre Kunden mit CONFIG-Dateien, dies könnte etwas sein, dass sie in der Tat war, dann fand heraus, es Schwierigkeiten war.

Wie Nicole sagte Process Explorer ist definitiv der einfachste Weg. Sie können diese Informationen auch von einem Vollspeicherabbild mit WindDBG bekommen.

Beachten Sie auch, dass mit 4,0 Sie nebeneinander bekommen CLR Hosting . Vor 4.0, wenn Sie den Prozess nicht besass Sie keine Möglichkeit zu wissen, was CLR geladen wurde . Dies kann ein Grund sein, warum Sie das Verhalten experinced Sie beschrieben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top