Announcement

Collapse
No announcement yet.

Verweise aus lokalem Ordner hinzufügen

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

  • Verweise aus lokalem Ordner hinzufügen

    Hi,

    ich habe ein C# Projekt in dem ich verschiedene Dlls verwende. Auf diese habe ich im Projektmappen-Explorer Verweise erstellt. Das Programm funktioniert super.
    Nun würde ich gern diese Dlls in einen Unterordner des Projektverzeichnisses ( "/Dlls/" ) ablegen und von dort aus verlinken.

    Wenn ich das Projekt dass erneut erstelle, werden die Dlls aus dem Ordner /Dlls/ wieder zurück ins Projektverzeichniss kopiert ("Lokale Kopie" = true).
    Wenn ich "Lokale Kopie" auf false setze, meckert Visual Studio, dass die Assembly mit einem starken Namen signiert sein muss.

    Gibt es eine Möglichkeit, die Dlls aus dem Ordner zu verlinken, ohne dass sie ins Projektverzeichniss kopiert werden?

    Vielen Dank
    Hannes

  • #2
    Hallo,

    entweder du installierst sie im GAC (mittels gacutil) oder du suchst nach probing um nähere Infos dafür zu erhalten.


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

    Comment


    • #3
      So sucht Common Language Runtime nach Assemblys

      Comment


      • #4
        Leg sie einfach nicht in ein Unterverzeichnis ab. Das verursacht nur Schmerzen und ist eigentlich auch unnötig.

        Comment


        • #5
          Danke für die vielen Antworten.

          Ich hab mir jetzt eine app.config erstellt und folgendes eingetragen:

          <assemblyBinding>
          <probing privatePath="Dlls" />
          </assemblyBinding>

          Leider krieg ich beim Starten des Projekts eine FileNotFound-Exception für eine der dlls.

          Im Fusion Log steht , dass meine Anwendungskonfigurationsdatei verwendet wird und, der Pfad ist auch korrekt.

          Woran kann das liegen?

          Comment


          • #6
            Hallo,

            weiß ich nicht, aber ich zitiere von oben:
            Originally posted by fanderlf
            Leg sie einfach nicht in ein Unterverzeichnis ab. Das verursacht nur Schmerzen und ist eigentlich auch unnötig.
            Jetzt merkst du warum


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

            Comment


            • #7
              Wahrscheinlich hast du Recht.
              Wär nur nice wenns doch funktionieren würde.

              Comment


              • #8
                Woran kann das liegen?
                Hat die betroffene Assembly eventuell Abhängigkeiten auf unmanaged Dll's die sie nun nicht findet da die nicht ebenfalls in deinem Unterordner liegen (bzw. im aktuellen Ordner falls dieser ein anderer ist)?

                Comment


                • #9
                  Daran hab ich auch schon gedacht, aber die unmanaged dlls befinden sich auch im Sub-Verzeichniss. Beim Erstellen des Projektes werden jetzt alle managed dlls aus dem Subordner in den root kopiert, dann tritt die Exception ein. Das liegt wahrscheinlich an der "Lokale Kopie" Eigenschaft. Aber wenn ich die deaktiviere bekomm ich den Fehler dass die Assembly mit einem starken Namen signiert sein muss.

                  Comment

                  Working...
                  X