Announcement

Collapse
No announcement yet.

Fragen zu Namespaces und .Net Versionen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Fragen zu Namespaces und .Net Versionen

    hallo,
    wenn ich eine dll erstelle die auf Namespaces zurückgreift, was passiert dann wenn auf dem Gerät der die dll verwendet nicht das passende .Net-Framework installiert ist? Also keines oder nicht die verwendete Version? Kann ich das irgendwie abfangen dass ich ausgebe bitte .Net xyz installieren?

    Wo kann ich nachlesen welcher Namespsace zu welcher .Net Version gehört bzw. ab wann er verfügbar ist?

  • #2
    was passiert dann wenn auf dem Gerät der die dll verwendet nicht das passende .Net-Framework installiert ist? Also keines oder nicht die verwendete Version?
    Wenn keins installiert ist oder eine Version kleiner als die mit der entwickelt wurde kommt eine typische Fehlermeldung (den Wortlaut weiß ich jetzt gerade nicht).
    Wenn eine neuere Version installiert ist gibts kein Problem (wäre ja noch schöner falls das so sei ).

    Kann ich das irgendwie abfangen dass ich ausgebe bitte .Net xyz installieren?
    Wird i.d.R. während des Setups erledigt - kommt halt darauf an mit was das Setup erstellt wird.

    Wo kann ich nachlesen welcher Namespsace zu welcher .Net Version gehört bzw. ab wann er verfügbar ist?
    In der MSDN. Da stehen fast ganz unten immer die Versionshinweise bzw. Plattformen.


    mfG Gü
    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

    Comment


    • #3
      hallo,
      >> Wird i.d.R. während des Setups erledigt - kommt halt darauf an mit was das Setup erstellt wird.

      Ich will nur eine dll machen, die installiere ich nicht. Die binde ich nur als Assembly in MSSQL ein.

      Comment


      • #4
        Ich will nur eine dll machen, die installiere ich nicht. Die binde ich nur als Assembly in MSSQL ein.
        AFAIK ist bei der Intallation von MS SQL 2005/08 die CLR dabei und somit sollten die Voraussetzungen erfüllt sein.

        mfG Gü
        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

        Comment


        • #5
          ja aber wenn ich Namespaces aus .Net 3.5 verwendet und der MSSQL-Server 2005 als Installationsvoraussetzung nur .Net 2.0 (angenommen, kenne die Inst.voraussetzung jetzt nicht genau) dann fehlt mir mein Namespace System.DirectoryServices.AccountManagement von 3.5? Oder verstehe ich da jetzt was total falsch?

          Comment


          • #6
            Grundsätzlich liegst du schon richtig.

            Wobei angemerkt sei dass die Versionierung nichts mit Namespaces zu tun hat sondern mit den Klassen.
            Beispielsweise gibt es in .net 2.0 den Namespace System.Collections.Generic aber die Klasse HashSet<T> in diesem Namespace gibts erst ab .net 3.5.

            System.DirectoryServices.AccountManagement von 3.5?
            Was willst du denn damit in SQL/CLR anfangen? (Ich kenne die Klassen in diesem NS nicht, aber das hört sich nicht gut an - außer es sei nur ein Beispiel).

            mfG Gü
            "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

            Comment


            • #7
              hallo,
              ich habe damit vor aus dem MSSQL-Server heraus Benutzer im AD anzulegen und diese Benutzer Gruppen hinzuzufügen. Von SQL aus deshalb weil ich die Benutzer per Webformular in der Datenbank anlegen lasse, dann habe ich sie, könnte bei Problemen mehrfach versuchen die Benutzer anzulegen oder wenn eine Abweichung zwischen DB und AD ist die Werte aus der DB im AD nachpflegen.

              Weiterhin kenne ich mich mehr in MSSQL aus und kann von dort auch Zeitgesteuert dinge machen, was ich bei einer exe, also weg von ASP.net mir erst aneignen (gepl. Task oder Dienst + Verbindung zur DB) müsste.

              Dann könnte ich den kompletten Benutzer mit Gruppen einfach von Domain A auf Domain B umswitchen in dem ich nur die Zieldomain in der DB ändere....

              So viel zum Traum. ) Im Netz habe ich schon von Problemen gelesen mit MSSQL und Zugriff auf das AD mit .Net aber zum ausprobieren bin ich noch nicht gekommen. Kann also sein dass das ganze nicht so umsetzbar ist wie ich möchte und ich doch eine exe bauen muss die meine Datenbank abfragt und die Datenbank "nur" AD-Änderungsanweisungen bereit hält die von der exe abgearbeitet werden.

              Comment


              • #8
                ich habe damit vor aus dem MSSQL-Server heraus Benutzer im AD anzulegen und diese Benutzer Gruppen hinzuzufügen. Von SQL aus deshalb weil ich die Benutzer per Webformular in der Datenbank anlegen lasse,
                Ich kenn mich da zu wenig aus aber das klingt nach keiner guten Idee.

                Weiterhin kenne ich mich mehr in MSSQL aus und kann von dort auch Zeitgesteuert dinge machen, was ich bei einer exe, also weg von ASP.net mir erst aneignen (gepl. Task oder Dienst + Verbindung zur DB) müsste.
                SQL Server = Datenbank (-mangement System) und daher für die geschilderte Augabe nicht gedacht. Der Weg über EXE und Geplante Tasks ist doch viel einfacher (glaubs mir einfach wenn du noch keinen Vergleich hast - vor allem das Debuggen - im SQL Server ist es nicht mehr so "greifbar").


                mfG Gü
                "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

                Comment


                • #9
                  [highlight=c#]System.Environment.Version.ToString();
                  [/highlight]
                  Zuletzt editiert von vadym voytas; 01.10.2009, 22:23.
                  Bitte vergessen Sie nicht die Antwort zu bewerten. Danke.:-)

                  Comment


                  • #10
                    Originally posted by vadym voytas View Post
                    System.Environment.Version.ToString()
                    Das ist leider nur die halbe Miete
                    Liefert auch für installiertes .net 3.5 die Information 2.0.xxx da eben .net 3.5 auf .net 2.0 basiert und somit kann die Frage welche Version für eine bestimmte Klasse nötig ist nicht beantwortet werden.


                    mfG Gü
                    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

                    Comment


                    • #11
                      Ich würde die Frage anders formulieren:
                      steht die für meine Anwendung notwendiger FW zur Verfügung ?

                      Dafür muss ich wissen, was für einen FW ich benötige,
                      und wenn es so einen auf dem PC gibt - dann weiter.

                      Der einfachste Weg ist in die Registry anzugucken
                      oder:

                      [highlight=c#]
                      using System;
                      using System.Collections.Generic;
                      using System.Text;
                      using System.Runtime.InteropServices;

                      namespace ConsoleApplication1
                      {
                      class Program
                      {
                      [DllImport("mscoree.dll")]
                      private static extern int GetCORSystemDirectory(
                      [MarshalAs(UnmanagedType.LPWStr)]StringBuilder pbuffer,
                      int cchBuffer, ref int dwlength);

                      static void Main(string[] args)
                      {
                      GetClrInstallationDirectory();
                      }

                      private static void GetClrInstallationDirectory()
                      {
                      int MAX_PATH = 260;
                      StringBuilder sb = new StringBuilder(MAX_PATH);
                      GetCORSystemDirectory(sb, MAX_PATH, ref MAX_PATH);
                      Console.WriteLine(sb.ToString());
                      while(Console.Read() != 'q') ;
                      }

                      }
                      }[/Highlight]
                      Zuletzt editiert von vadym voytas; 01.10.2009, 22:45.
                      Bitte vergessen Sie nicht die Antwort zu bewerten. Danke.:-)

                      Comment


                      • #12
                        Hallo vadym,

                        nochmals die Bitte den Code so zu formatieren dass er lesbar ist. Das kann doch nicht so schwer sein.

                        Weiters wäre ein Schreibweise die an die deutsche Rechtschreibung und Grammatik angelehnt ist praktisch (vor allem wenn man Mod. werden will).


                        mfG Gü
                        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

                        Comment


                        • #13
                          hallo,
                          yep so kann man die Frage formulieren.

                          Comment

                          Working...
                          X