Ich muss die .NET-Framework-Version des Clients in meiner Webanwendung ermitteln. Ich arbeite teilweise vertraulich, so dass ich das Dateisystem oder die Registrierung nicht lesen kann ( Gibt es eine einfache Möglichkeit, die Überprüfung von .net Framework mit C # zu überprüfen? ).
System.Environment.Version gibt die Laufzeitversion zurück, daher kann ich diese nicht verwenden.
Ich kann JavaScript nicht verwenden
Der einzige Weg, an den ich im Moment denken kann, ist zu versuchen, eine .NET 3.5 dll zu laden und eine Ausnahme zu fangen, aber das klingt nicht sehr nett.
Irgendwelche Vorschläge?
Aktualisierung:
Request.Browser.ClrVersion
und Request.Browser.GetClrVersions()
geben die .NET Framework-Version (en) zurück, die auf dem Client installiert sind.
Eine Möglichkeit besteht darin, die referenzierte Assembly-Liste von der aktuellen Assembly abzurufen. Und dann suchen Sie nach Mscorlib.dll (oder jeder anderen .net-Assembly, die Sie sicher geladen werden) und die Version dieser Assembly abrufen. Auf diese Weise können Sie die installierte Version von Framework kennen.
probiere diesen Code:
%Vor%Dies hängt von der Verfügbarkeit der Assembly ab, für die Sie die Version auswählen.
Oder werfen Sie einen Blick auf diesen CodeProject Artikel. In diesem Artikel verweist er / sie auf einen anderen Artikel von Junfeng Zhang , der verwendet Unverwalteter Code zum Ermitteln der CLR-Version.
Ich denke, Sie sollten etwas wie den folgenden msdn-Artikel vorschlagen . Es verwendet Java-Skript, um die Erkennung von .NET Framework zu tun.
Ich muss die .NET-Framework-Version des Clients in meiner Webanwendung ermitteln. Ich arbeite teilweise vertraulich, so dass ich das Dateisystem oder die Registrierung nicht lesen kann ( Gibt es eine einfache Möglichkeit, die Überprüfung von .net Framework mit C # zu überprüfen? ).
System.Environment.Version gibt die Laufzeitversion zurück, daher kann ich diese nicht verwenden.
Ich kann JavaScript nicht verwenden
Der einzige Weg, an den ich im Moment denken kann, ist zu versuchen, eine .NET 3.5 dll zu laden und eine Ausnahme zu fangen, aber das klingt nicht sehr nett.
Irgendwelche Vorschläge?
Aktualisierung:
Request.Browser.ClrVersion
und Request.Browser.GetClrVersions()
geben die .NET Framework-Version (en) zurück, die auf dem Client installiert sind.
Ich verwende die folgende Klasse, die direkt vom Methodeneinstiegspunkt Main () aufgerufen wird, und habe dann die Wahl, den Benutzer über MessageBox oder Console.WriteLine zu informieren. Dieser Code basiert auf der Tatsache, dass:
Ich denke, Sie sollten etwas wie den folgenden msdn-Artikel vorschlagen . Es verwendet Java-Skript, um die Erkennung von .NET Framework zu tun.
Eine Möglichkeit besteht darin, die referenzierte Assembly-Liste von der aktuellen Assembly abzurufen. Und dann suchen Sie nach Mscorlib.dll (oder jeder anderen .net-Assembly, die Sie sicher geladen werden) und die Version dieser Assembly abrufen. Auf diese Weise können Sie die installierte Version von Framework kennen.
probiere diesen Code:
%Vor%Dies hängt von der Verfügbarkeit der Assembly ab, für die Sie die Version auswählen.
Oder werfen Sie einen Blick auf diesen CodeProject Artikel. In diesem Artikel verweist er / sie auf einen anderen Artikel von Junfeng Zhang , der verwendet Unverwalteter Code zum Ermitteln der CLR-Version.
Ich verwende die folgende Klasse, die direkt vom Methodeneinstiegspunkt Main () aufgerufen wird, und habe dann die Wahl, den Benutzer über MessageBox oder Console.WriteLine zu informieren. Dieser Code basiert auf der Tatsache, dass: