Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > .NET Languages
You last visited: Today at 02:59

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[C#] Check the .net Framework

Discussion on [C#] Check the .net Framework within the .NET Languages forum part of the Coders Den category.

Reply
 
Old   #1

 
Obilee's Avatar
 
elite*gold: 144
Join Date: May 2007
Posts: 62,459
Received Thanks: 29,541
[C#] Check the .net Framework

I wanted to ask if you know a way how to check in C# what .net frameworks are used through a started application.

e.g

Process process = new Process();
process.StartInfo.FileName = applicationPath;
process.Start();

proccess.getframework() <- something like this

I'm not talking about what frameworks are installed on the computer
Obilee is offline  
Old 04/11/2012, 11:48   #2
 
Extremiie29's Avatar
 
elite*gold: 0
Join Date: Jan 2011
Posts: 551
Received Thanks: 116
Humm? What do you mean with this Post?
Extremiie29 is offline  
Old 04/11/2012, 12:17   #3

 
boxxiebabee's Avatar
 
elite*gold: 0
Join Date: May 2008
Posts: 1,222
Received Thanks: 500
Code:
    class Program
    {
        static void Main()
        {
            const string path = @"C:\Programme\beispiel.exe";
            Assembly *** = Assembly.LoadFrom(path);

            #region Methode 1
            string imageRuntimeVersion = ***.ImageRuntimeVersion;
            Console.WriteLine(imageRuntimeVersion);
            #endregion

            #region Methode 2
            AssemblyName[] referencedAssemblies = ***.GetReferencedAssemblies();
            foreach (AssemblyName a in referencedAssemblies)
            {
               
                Console.WriteLine(a.Version); //a.FullName
            }
            #endregion
            Console.ReadLine();
        }
    }
funktioniert aber nicht bei allen.
ansonsten wie man es mit ildasm rausfindet ->
boxxiebabee is offline  
Thanks
1 User
Old 04/11/2012, 12:46   #4

 
Obilee's Avatar
 
elite*gold: 144
Join Date: May 2007
Posts: 62,459
Received Thanks: 29,541
Das hat mir schon geholfen, aber was für andere Assemblys sucht den GetReferencedAssemblies noch raus ? Dort kommen ja mehrere Versionen als ergebniss raus.

So wie ich verstanden habe sind Assemblys Metadaten über ein Programm ?

Wie ich sehe bekomme ich auch eine andere Version angezeigt wenn ich ***.FullName nehme
Obilee is offline  
Old 04/11/2012, 12:56   #5
 
elite*gold: 42
Join Date: Jun 2008
Posts: 5,425
Received Thanks: 1,888
Wenn du in Visual Studio unter Verweise guckst, siehst du alle. Ob nun alle mit dem Code von Lizzaran ausgegeben werden, kann ich dir nicht sagen, aber ich vermute es. Schreib am besten den Namen dazu, dann solltest du es besser sehen.
MoepMeep is offline  
Old 04/11/2012, 13:08   #6

 
Obilee's Avatar
 
elite*gold: 144
Join Date: May 2007
Posts: 62,459
Received Thanks: 29,541
Ich brauch es ja für fremde programme und soll außerdem automatisch gehn da kann ich schlecht meinem server sagen: mach mal bitte vb auf und schau nach :P

denk mal die verschiedenen versionsnummmern kommen durch die verschiedenen genutzt libs zustande
Obilee is offline  
Old 04/11/2012, 13:11   #7

 
boxxiebabee's Avatar
 
elite*gold: 0
Join Date: May 2008
Posts: 1,222
Received Thanks: 500
Hier nochmal zum veranschaulichen:



4.0 erkennbar an ImageRuntimeVersion.
3.5 erkennbar an ImageRuntimeVersion und das System.Core eingebunden ist.
2.0 erkennbar an ImageRuntimeVersion und das System.Core nicht eingebunden ist.

info: System.Core ist erst ab der Version 3.5 verfügbar.


Edit:
Version 2.0 und 3.0 geben leider das gleiche aus. Aber 3.0 wird meiner Meinung nach eh nie benutzt, also kann man dann davon ausgehen das es sich um 2.0 handelt.
boxxiebabee is offline  
Old 04/11/2012, 13:31   #8
 
elite*gold: 42
Join Date: Jun 2008
Posts: 5,425
Received Thanks: 1,888
Quote:
Originally Posted by Obilee View Post
Ich brauch es ja für fremde programme und soll außerdem automatisch gehn da kann ich schlecht meinem server sagen: mach mal bitte vb auf und schau nach :P
Das war mir schon klar, sollte nur als Veranschaulichung dienen.

Quote:
denk mal die verschiedenen versionsnummmern kommen durch die verschiedenen genutzt libs zustande
Genau das wollte ich sagen
MoepMeep is offline  
Old 04/11/2012, 13:32   #9

 
Obilee's Avatar
 
elite*gold: 144
Join Date: May 2007
Posts: 62,459
Received Thanks: 29,541
jetzt ist die frage welche der versionen man nehmen muss, an sich müsste man ja die höchste versionsnummer von den referencedAssemblies nehmen ? wenn man z.b bei deinem 2tn beispiel nicht 3.5 auf dem rechner hat kann man die core nicht nutzen.

habs mal mit paint.net getestet:

ImageRuntimeVersion = 2.0
Version unter FullName = 3.5
Höchste Reference Version = 3.5
Niedrigste Reference Version = 0.85

aber bei meinem eigenem program hab ich folgendes

ImageRuntimeVersion = 2.0
Version unter FullName = 1.0
Höchste Reference Version = 2.0
Niedrigste Reference Version = 2.0

iwie seh ich da keine logik hinter :<
Obilee is offline  
Old 04/11/2012, 13:54   #10

 
boxxiebabee's Avatar
 
elite*gold: 0
Join Date: May 2008
Posts: 1,222
Received Thanks: 500
Naja, ich hab das vorher noch nie gebraucht, kann natürlich auch sein das es nicht einwandfrei funktioniert. Habs mit selbst erstellten .exe'n probiert, da gehts. War auch nur ne Idee wie man das lösen könnte.

Ich hab hier fix mal was kleines gemacht. Einfach die zu überprüfende Datei auf die .exe ziehen dann zeigt es (bzw versucht) welche Version dafür benutzt wurde.

Für Virustotal bin ich zu faul, das überlass ich dir.
Attached Files
File Type: zip FrameworkVersion.zip (2.7 KB, 0 views)
boxxiebabee is offline  
Old 04/11/2012, 14:09   #11

 
Obilee's Avatar
 
elite*gold: 144
Join Date: May 2007
Posts: 62,459
Received Thanks: 29,541
Hab mal mein problem auch bei stackoverflow geposted:

wenn ich in vs in den projekt einstellungen schau was unter "target framework" steht müsste dann die version sein welche das programm nutzt oder ?
bin aus der java ecke darum kenn ich mich dem entsprechend weniger hier aus
Obilee is offline  
Old 04/11/2012, 14:15   #12

 
boxxiebabee's Avatar
 
elite*gold: 0
Join Date: May 2008
Posts: 1,222
Received Thanks: 500
Quote:
Originally Posted by Obilee View Post
Hab mal mein problem auch bei stackoverflow geposted:

wenn ich in vs in den projekt einstellungen schau was unter "target framework" steht müsste dann die version sein welche das programm nutzt oder ?
bin aus der java ecke darum kenn ich mich dem entsprechend weniger hier aus
Welche Version für das Projekt verwendet wird kannst du so sehen:
Oben im Menu auf Projekt -> ganz unten ist dann ein Menüpunkt mit dem Namen deines Projektes, dannach siehst du unter Zielframework oder auf englisch halt Target Framework die Version die verwendet wird.

Probier einfach mal meine .exe aus und schau obs funktioniert.

btw das bild was du auf stackoverflow gepostet hast mit dem paint.net.. das benutzt doch das framework 3.5 oder? das würde dir mein programm anzeigen

edit: das topic auf das der typ auf stackoverflow verlinkt hat.. genauso mach ichs auch.
boxxiebabee is offline  
Old 04/13/2012, 01:03   #13
 
elite*gold: 14
The Black Market: 108/0/1
Join Date: May 2011
Posts: 2,671
Received Thanks: 818
Quote:
Originally Posted by Obilee View Post
wenn ich in vs in den projekt einstellungen schau was unter "target framework" steht müsste dann die version sein welche das programm nutzt oder ?
bin aus der java ecke darum kenn ich mich dem entsprechend weniger hier aus
Ich weiß jetzt nicht genau, in wie fern du dich schon mit dem .NET Framework auskennst, aber du kannst dir das ungefähr so vorstellen:

Das Framework wird in Versionen aufgeteilt und jede Version hat einen unterschiedlichen Funktionsumfang.

In den Projekteinstellungen kannst du auswählen, "mit welcher Basis" dein Projekt erstellt werden soll.

In Java wären das einfach unterschiedliche JDK-Versionen.

Lg.
vwap is offline  
Reply


Similar Threads Similar Threads
Net Framework
03/29/2010 - Grand Chase - 3 Replies
if sir noein's nid a .net framework?? becoz its not working for me the skill tree.... and where can i download a framework... i search in other thread but is error plss help me...
[WTT]No CRC check and gg bypass for dekaron eu and no crc check for 2moons
10/18/2008 - Dekaron Trading - 1 Replies
Look at the title:rolleyes: I wanna trade it for 50mill on dekaron eu. just add me to msn for proofs [email protected]



All times are GMT +1. The time now is 02:59.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.