Ich erstelle eine C# -Klassenbibliothek für andere Entwickler. Wie sollte ich es zusammenpacken - einfach die DLL-Datei komprimieren und auf die Website stellen?Wie wird die C# -Klassenbibliothek (DLL) empfohlen?
Antwort
Die empfohlene Methode besteht darin, die Quellcodequelle einschließlich Buildskripts auf eine Website wie googlecode hochzuladen, damit andere Entwickler sie herunterladen und kompilieren können, aber wenn es sich um eine geschlossene Quellbibliothek handelt, zippen die Assembly (mylibrary.DLL) (mylibrary.XML) und Debug-Informationsdatei (mylibrary.PDB) sollte ausreichen.
Wenn es sich um eine geschlossene Quelle handelt, bin ich nicht sicher, ob Sie die XML- und PDB-Dateien versenden würden. –
Wenn es nur eine DLL ist, würde ich nicht stören, es zu zippen. Es wäre jedoch nett, wenn Sie eine Dokumentation mit diesem zusammen mit einer Beispielkonfigurationsdatei zippen würden.
Nun, haben Sie schon einmal eine dritte verwendet? Was möchten Sie im perfekt verpackten Third-Party-Download sehen?
Ich würde es Reißverschluss mit der mindestens folgendes:
- Ihre DLL in/bin/Ordner
- readme (txt oder html) zu erklären, was es ist, wie zu installieren und wo man weitere Informationen
erhalten, wenn Sie die Quelle incl dann * Quelle in/Quelle/Ordner * Alle Tests in einem/Tests/Ordner
Wenn es etwas Gutes ist, möchtest du es lieber auf Google Code oder Codeplex als auf deiner eigenen Website speichern?
Ja.
Sie sollten die Dokumentation in Ihre ZIP-Datei einfügen, einschließlich eines Links zurück zu Ihrer Website. NDoc eignet sich hervorragend zum Generieren von Dokumentationen aus Ihren XML-Kommentaren.
Schauen Sie sich 3rd Party Prjects für die Inspiration, aber ja, eine gezippte DLL ist in Ordnung.
Wenn Ihre Dokumentation groß ist, sollten Sie sie in einen separaten Zip legen, und wenn Sie die Quelle freigeben, sollten Sie diese in einen 3. Zip stecken.
Wie auch immer Ihre DLL sollte mit einer Readme, die beschreibt, welche Version es ist, was der Zweck ist, wer es geschrieben hat und wie man mit ihnen, zusammen mit irgendwelchen Abhängigkeiten oder anderen nützlichen Schnipsel von Informationen zu kontaktieren.
Dokumentation ist sehr wichtig!
Ich würde vorschlagen, dass, wenn dies ein Produkt ist, Sie ein Setup-Projekt möchten, das es installiert. Dies würde beinhalten, es in den GAC zu legen und die Dokumentation irgendwo zu belassen.
bearbeiten
Nur um zu klären, ich meine wirkliche Dokumentation, nicht nur, was automatisch von den Kommentaren erzeugt wird.
- 1. NUnit wird keine Sperre für benutzerdefinierte Klassenbibliothek dll ... Kann Klassenbibliothek nach dem Ausführen von NUnit
- 2. Warum wird die Verwendung der Direktive in C++ nicht empfohlen?
- 3. C#/IronPython Interop mit freigegebener C# -Klassenbibliothek
- 4. Wird die Legacy-Kriterien-API weiterhin empfohlen?
- 5. Wird die Verwendung des Mediatormusters empfohlen?
- 6. In C# Wie wird empfohlen, Daten zwischen 2 Threads weiterzuleiten?
- 7. Wird die Verschlüsselung von Javascript empfohlen?
- 8. Warum HibernateTemplate nicht empfohlen wird?
- 9. Welcher PyPy Speicherprofiler wird empfohlen?
- 10. Wie C++ DLL in C#
- 11. Wird in C++ empfohlen, cstdio, cstring, cmath usw. zu verwenden?
- 12. Wie mache ich die Funktion "unsichtbar" in einer Klassenbibliothek C#
- 13. Verwenden von VC++ Klassenbibliothek in C#
- 14. DDS - Welche wird empfohlen - OpenSplice oder CoreDX?
- 15. C Dll-Import C#
- 16. C# Klassenbibliothek Projektabhängigkeit Injektion Bootstrap
- 17. Portable Klassenbibliothek (in DLL-Form) zu Xamarin Studio hinzufügen
- 18. VS2005-Klassenbibliothek mit C-Code?
- 19. expose unmanaged C++ - Klassenbibliothek zu C#
- 20. Einstellung der SQL Server CE-Verbindung für eine DLL-Klassenbibliothek
- 21. Wird die Verwendung von GCE als Webserver empfohlen?
- 22. Wird die Dependency-Injektion empfohlen, wenn keine Mehrfachimplementierung erfolgt?
- 23. Warum "$(). Ready (handler)" wird nicht empfohlen?
- 24. Probleme mit der Portierung einer DLL C++ - Klassenbibliothek zu Visual Studio
- 25. Wie wird empfohlen, Speicher für eine typisierte Speicheransicht zuzuweisen?
- 26. Welcher Ansatz wird empfohlen: aggregateRoot.Items.Add (...) oder aggregateRoot.AddItem (...)
- 27. Wird ObservableCollection empfohlen, bevor Elemente hinzugefügt werden?
- 28. Warum wird gunicorn_django nicht mehr empfohlen?
- 29. Entwicklungs-/Laufzeitlizenzierungsmechanismus für eine C# -Klassenbibliothek?
- 30. C# -Klassenwrapper für eine verteilbare DLL
Tipp: Verpacken Sie es mit einem funktionierenden, einfachen C# -Beispiel (d. H. Mit einem Beispiel ein zusätzliches Projekt in der Bibliothekslösung). Ihre Benutzer werden es Ihnen danken. – Brian