Hallo zusammen,
gibt es eine Möglichkeit anhand einer Assembly festzustellen ob sie eine Runtime Assembly ist, daher zur .NET Runtime gehört? Mit dem GAC geht es leider nicht, da ja auch ganz normale Assebmlies dort referenziert sein können.
Again what learned...
Ich meine eine CLR dll also eine DLL die zur Runtime gehört, nicht eine DLL die mit .NET übersetzt wurde. Zum Beispiel die System.dll
Nicht das ich mich irre, aber das ist doch eine CLR der .NET Runtime?
Again what learned...
nein. die system.dll ist eine dll des frameworks.
es gibt da keine sichere differenzierung aber du könntest z.b. "AssemblyProduct" auslesen und dort im string auf ".NET FRamework" prüfen. allerdings kann jeder in seiner assembly diesen string auch reinschreiben. daher ist es keine sichere differenzierung.
alternativ kannst du dir eine liste von guids jeder .net assembly zusammenkopieren, was aber bei jedem SP und bei jeder version wiederrum neu gemacht werden muss.
Cool das mit doch schon mal eine halbwegs gute Lösung. Kannst du mir noch kurz sagen wo die Property dran klebt, sonst muss ich wieder mit dem Reflector so lange suchen 😃
Again what learned...
Ok habs grad gefunden.
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyProductAttribute), false);
if (attributes.Length == 0)
return "";
return ((AssemblyProductAttribute)attributes[0]).Product;
Again what learned...