Announcement

Collapse
No announcement yet.

Ausgabe im Ordner ("\bin\Debug" oder "\bin\Release") ist nicht vollständig

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

  • Ausgabe im Ordner ("\bin\Debug" oder "\bin\Release") ist nicht vollständig

    In der Projektmappe habe ich die folgende Projekten:
    • ProjektA (Klassenbibliothek)
    • ProjektB (Windows-Anwendung)


    Im ProjetA habe ich ein Verweis hinzugefügt (ein "xxx.dll" datei).
    Also das ProjetA ist selbst von der xxx.dll datei abhängig.

    Rechts Klick auf das Projekt ProjektB -> Projektabhängigkeiten, dort habe ich ProjektA ausgewählt.
    Also das bedeute ProjektB ist abhängig von ProjektA, so weit so gut.

    Nun Rechtsklick auf ProjektB -> Neu Erstellen
    Ausgabe im Ordner ("\bin\Debug" oder "\bin\Release"):
    • ProjektA.dll (ok)
    • ProjektB.exe (ok)
    • xxx.dll (fehlt)


    ProjektA.dll kann ohne xxx.dll nicht arbeiten.
    Weshalb wird der xxx.dll Datei auch nicht im Verzeichnis mit kopiert?

    Merci voraus

  • #2
    Hallo,

    die Projektabhängigkeiten brauchen eigentlich selbst gesetz werden.

    Um eine Abhängigkeit zu erstellen verweise auf eine andere Assembly oder Projekt -> beim Build werden die Assemblies dann korrekt kopiert.

    Eine weitere Möglichkeit wäre im PostBuild-Ereignis (unter Projekteigenschaften) ein Batch ausführen zu lassen welches die Dateien kopiert.

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

    Comment


    • #3
      Also im ProjektA\bin\Debug oder ProjektA\bin\Release wird der ProjektA.dll und xxx.dll erstellt, so weit so gut.

      ABER

      Im ProjektB\bin\Debug oder ProjektB\bin\Release wird der ProjektB.exe und ProjektA.dll auch noch erstellt, aber da fehlt noch der xxx.dll da ProjektA.dll von xxx.dll abhängig ist.

      Oder liege ich da falsch und visual studio macht das alles richtig?

      Comment


      • #4
        Hallo,

        auch dies sollte helfen: Rechtsklick auf das abhängige Projekt -> Eigenschaften -> localCopy = true setzen.

        Gruß Jürgen

        Comment


        • #5
          Oder liege ich da falsch und visual studio macht das alles richtig?
          Wenn dein ProjektB die Methode in ProjektA nicht aufruft welche xxx.dll verwendet wird die "wegoptimiert" und somit braucht xxx.dll nicht ins Ausgabeverzeichnis kopiert werden.

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

          Comment


          • #6
            Hey jetzt funktioniert es.... danke für den Tipp gfoidl !!!

            Ich dachte das es genügen würde, wenn ich das hier am anfang schreibe:
            [highlight=c#] using xxx.classname; [/highlight]
            Aber anscheinend nicht!

            Danke nochmals

            Comment


            • #7
              Originally posted by user.Net View Post
              Ich dachte das es genügen würde, wenn ich das hier am anfang schreibe:
              [highlight=c#] using xxx.classname; [/highlight]
              Aber anscheinend nicht!
              Das ist tatsächlich nur eine Arbeitserleichterung für Schreibfaule (also für alle Programmierer ): Ein Namespace (nicht, wie in deinem Beispiel, ein Klassenname), der bei using angegeben wird, muss nicht bei jeder einzelnen Klasse angegeben werden. Richtig ist ursprünglich:
              Code:
              System.Windows.Forms.Button saveButton = new System.Windows.Forms.Button();
              Das geht eben kürzer durch:
              Code:
              using System.Windows.Forms;
              //  und später:
              Button saveButton = new Button();
              Aber die Referenz auf die DLL und ggf. die DLL selbst müssen in beiden Fällen vorhanden sein.

              Gruß Jürgen

              Comment

              Working...
              X