Projektordner
graph TD P[Projektordner] --> A[name.acproj] P --> S[source: Quellen der Datenbank] P --> D[delivery: Auslieferungseinstellungen] P --> B[build: Ergebnisse, nicht versioniert] P --> O[obj: Arbeitsstand, nicht versioniert] S --> BC[build: Konfiguration mit ACCDB und ACCDE] D --> BD[build: Delivery und Modus mit Starter und deploy] B --> BC B --> BD
Ein Projekt des WKL Office SDK ist ein Ordner mit einer Projektdatei. Diese Seite zeigt, welche Dateien darin liegen, welche davon in die Versionsverwaltung gehören und welcher Befehl jede Datei schreibt. Die Einzelheiten jeder Datei stehen auf ihrer Referenzseite.
Wichtige Punkte
- Quellen statt Datenbank. Versioniert werden die Projektdatei,
source\unddelivery\. Die Datenbank entsteht bei jedem Build neu aus den Quellen. - Ergebnisse und Arbeitsstand bleiben lokal.
build\undobj\stehen in der.gitignore, dienewanlegt. - Gemeinsames liegt außerhalb. Gemeinsam genutzte Vorlagen und Release-Pakete werden über die SDK-Einstellungen oder Umgebungsvariablen gefunden, nicht ins Projekt kopiert.
- Eigene Ordnernamen.
source\,build\unddelivery\sind Vorgaben; die Projektdatei kann andere Ordner nennen (SourceRoot,BaseOutputPath,DeliveryRoot); für neue Projekte legen Sie sie in den SDK-Einstellungen fest. - Keine Geheimnisse im Ordner. Zertifikate werden nur über ihren Fingerabdruck genannt.
Aufbau des Projektordners
Ordnerbaum
<project folder>\
<name>.acproj project file
.gitignore build/ and obj/
.vscode\tasks.json tasks for Visual Studio Code
source\ sources of the database (folder set by SourceRoot)
references.json
...
delivery\ delivery settings, versioned (folder set by DeliveryRoot)
delivery-settings.json
<profile>.profile.json
<profile>.bootstrapper.json
build\ results, not versioned (folder set by BaseOutputPath)
<configuration>\
<name>.accdb
<name>.accde
Delivery\<profile>\
Wkl.Bootstrapper.exe
bootstrapper.json
deploy\
obj\ state of this workstation, not versioned
wkl-state.json
wkl-sdk.lock
Was wo liegt
| Was | Wo | Versioniert | Wer schreibt es |
|---|---|---|---|
| Projektdatei | <name>.acproj | ja | new legt sie an, danach von Hand oder, für die Build-Konfigurationen, in den Projekteigenschaften des Add-ins (Projektdatei) |
.gitignore, .vscode\tasks.json | Projektordner | ja | new (Befehlszeile) |
| Quellen der Datenbank | source\ | ja | export und commit (Quellstruktur und Formate) |
| Auslieferungseinstellungen | delivery\delivery-settings.json | ja | von Hand oder in den Projekteigenschaften des Add-ins (delivery-settings.json, Anleitung) |
| Auslieferungsprofile | delivery\<profile>.profile.json | ja | in den Projekteigenschaften des Add-ins oder von Hand (Auslieferungsprofile) |
| Projektdatei des Starters je Profil | delivery\<profile>.bootstrapper.json | ja | das erste deliver aus den Vorlagen des Starters, danach der Bootstrapper Manager (deliver) |
| Gebaute Datenbank | build\<configuration>\<name>.accdb, .accde | nein | build (Was ein Build tut) |
| Auslieferung je Profil | build\Delivery\<profile>\ oder output des Profils | nein | deliver (Aus dem SDK ausliefern) |
| Windows-Installer-Paket | Auslieferungsordner des Profils | nein | msi (msi) |
| Abgleichstand und Sperre | obj\ | nein | die Befehle des SDK: Stand des letzten Abgleichs und Sperre gegen gleichzeitige Läufe |
Regeln
- Die ursprüngliche Datenbank gehört nicht ins Repository. Eine bestehende ACCDB exportieren Sie einmal mit
export -dvon ihrem bisherigen Ort in die Quellen (Tutorial) oder mit Neues Projekt aus dieser Datenbank… im Add-In.migratelegt ein neues Projekt in einem leeren Ordner an. Danach ist die Datenbank ein Build-Ergebnis. build\undobj\werden nie versioniert.deliverschreibt den Auslieferungsordner bei jedem Lauf neu. Sichern Sie ein Installer-Paket, das Sie aufbewahren wollen, vor dem nächstendeliveran einem anderen Ort.delivery\committen Sie mit git.commitübergibt nur die Projektdatei, ihre.gitignoreund den Quellordner.- Zertifikate nur über den Fingerabdruck.
msi --signerwartet den Fingerabdruck eines Zertifikats im Zertifikatspeicher von Windows. Weder Zertifikat noch Kennwort liegen im Projekt. - Gemeinsam Genutztes außerhalb des Projekts. Release-Pakete nennt
delivery-settings.jsonüber einen Pfad, der%WKL_PACKAGES%verwenden darf. Gemeinsame Vorlagen findet das SDK überWKL_ACCESS_TEMPLATES(Vorlagen). - Weitere Ordner sind frei. Ordner wie
tests\,tools\oderdocs\liest das SDK nicht. Sie versionieren sie mit git.
Projekt in einem Repository mit mehreren Teilen
Der Projektordner muss nicht die Wurzel des Repositorys sein. Das SDK verwendet die Arbeitskopie von git oder
Subversion, die der Projektdatei am nächsten übergeordnet ist. commit übergibt nur die Projektdatei, ihre
.gitignore und den Quellordner, auch wenn im Repository weitere Dateien vorgemerkt sind. Ein Testprojekt mit eigener
Projektdatei darf im Projektordner liegen: build\, obj\ und die Sperre gehören immer zum Ordner der jeweiligen
Projektdatei.
<repository>\
client\ other parts, not read by the SDK
installer\
docs\
images\ source images of the manual
access-admin\ project folder of the application
DbGwAdmin.acproj
.gitignore
source\
resources\images\ shared images of the database
delivery\
assets\ files of the application that are not part of the database
tests\ test project, a project folder of its own
DbGwAcceptance.acproj <Template>..\DbGwAdmin.acproj</Template>
.gitignore
source\
build\ results of the test project, not versioned
obj\ state and lock of the test project, not versioned
build\
obj\
- Eine Projektdatei je Ordner. Eine Vorlage, die über ihren Ordner genannt ist, wird nur gefunden, wenn dort genau eine
.acprojliegt. Auch das Add-in sucht das Projekt der geöffneten Datenbank in deren Ordner und bis zu drei Ebenen darüber. Ein Testprojekt erhält deshalb einen eigenen Unterordner. Liegt eine zweite.acprojneben dem Hauptprojekt, meldetcheckdie Vorlage..als nicht gefunden. - Ein Testprojekt ist ein eigenes Projekt. Es baut nach
tests\build\, führt Abgleichstand und Sperre intests\obj\und wird mit seinem eigenencommitübergeben. Das Hauptprojekt liesttests\nicht. Das Hauptprojekt nennen Sie als Vorlage mit relativem Pfad, am eindeutigsten mit der Datei:<Template>..\DbGwAdmin.acproj</Template>. Seine Quellen kommen dann zu denen des Testprojekts hinzu (Vorlagen). - In
source\liegen nur Quellen der Datenbank. Jede Datei insource\resources\images\wird beim Build ein gemeinsam genutztes Bild der Datenbank (Bildkatalog von Access).exportlöscht dort jede Datei, die die Datenbank nicht enthält. Andere Dateien in den Objektordnern meldetcheckals Warnung und lädt sie nicht. - Übrige Dateien liegen dort, wo sie gebraucht werden. Dateien, die zur Anwendung, aber nicht zur Datenbank gehören, etwa Logos für den Installer oder die Originale ihrer Bilder, legen Sie in einen frei gewählten Ordner im Projektordner, zum Beispiel
assets\. Bilder eines Handbuchs liegen beim Handbuch. Diese Ordner liest das SDK nicht; Sie versionieren sie mit git.
Verwandte Themen
- Referenz der Projektdatei – Eigenschaften, Konfigurationen und Vorlagen der
.acproj - Build-Konfiguration und Auslieferungsprofil – was eine Konfiguration und ein Profil festlegen
- Quellstruktur und Formate – Inhalt von
source\und Ablauf eines Builds - delivery-settings.json – Version und Release-Pakete, die alle Profile teilen, und die Profile
- Aus dem SDK ausliefern – eine Auslieferung Schritt für Schritt
de/wiki/msaccess/sdk/concepts/project-folder.txt · Zuletzt geändert: von Wolfgang van der Stille