Color scheme: Riviera
You are here: start » de » Dokumentation » Werkzeuge für Microsoft Access » WKL Office SDK » concepts » Projektordner

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\ und delivery\. Die Datenbank entsteht bei jedem Build neu aus den Quellen.
  • Ergebnisse und Arbeitsstand bleiben lokal. build\ und obj\ stehen in der .gitignore, die new anlegt.
  • 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\ und delivery\ 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

WasWoVersioniertWer schreibt es
Projektdatei<name>.acprojjanew legt sie an, danach von Hand oder, für die Build-Konfigurationen, in den Projekteigenschaften des Add-ins (Projektdatei)
.gitignore, .vscode\tasks.jsonProjektordnerjanew (Befehlszeile)
Quellen der Datenbanksource\jaexport und commit (Quellstruktur und Formate)
Auslieferungseinstellungendelivery\delivery-settings.jsonjavon Hand oder in den Projekteigenschaften des Add-ins (delivery-settings.json, Anleitung)
Auslieferungsprofiledelivery\<profile>.profile.jsonjain den Projekteigenschaften des Add-ins oder von Hand (Auslieferungsprofile)
Projektdatei des Starters je Profildelivery\<profile>.bootstrapper.jsonjadas erste deliver aus den Vorlagen des Starters, danach der Bootstrapper Manager (deliver)
Gebaute Datenbankbuild\<configuration>\<name>.accdb, .accdeneinbuild (Was ein Build tut)
Auslieferung je Profilbuild\Delivery\<profile>\ oder output des Profilsneindeliver (Aus dem SDK ausliefern)
Windows-Installer-PaketAuslieferungsordner des Profilsneinmsi (msi)
Abgleichstand und Sperreobj\neindie 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 -d von ihrem bisherigen Ort in die Quellen (Tutorial) oder mit Neues Projekt aus dieser Datenbank… im Add-In. migrate legt ein neues Projekt in einem leeren Ordner an. Danach ist die Datenbank ein Build-Ergebnis.
  • build\ und obj\ werden nie versioniert. deliver schreibt den Auslieferungsordner bei jedem Lauf neu. Sichern Sie ein Installer-Paket, das Sie aufbewahren wollen, vor dem nächsten deliver an einem anderen Ort.
  • delivery\ committen Sie mit git. commit übergibt nur die Projektdatei, ihre .gitignore und den Quellordner.
  • Zertifikate nur über den Fingerabdruck. msi --sign erwartet 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 über WKL_ACCESS_TEMPLATES (Vorlagen).
  • Weitere Ordner sind frei. Ordner wie tests\, tools\ oder docs\ 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 .acproj liegt. 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 .acproj neben dem Hauptprojekt, meldet check die Vorlage .. als nicht gefunden.
  • Ein Testprojekt ist ein eigenes Projekt. Es baut nach tests\build\, führt Abgleichstand und Sperre in tests\obj\ und wird mit seinem eigenen commit übergeben. Das Hauptprojekt liest tests\ 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 in source\resources\images\ wird beim Build ein gemeinsam genutztes Bild der Datenbank (Bildkatalog von Access). export löscht dort jede Datei, die die Datenbank nicht enthält. Andere Dateien in den Objektordnern meldet check als 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

de/wiki/msaccess/sdk/concepts/project-folder.txt · Last modified: by Wolfgang van der Stille