Color scheme: Dark
You are here: start » de » Dokumentation » Werkzeuge für Microsoft Access » WKL Office SDK » how-to » Access-Anwendung mit dotnet build bauen

Access-Anwendung mit dotnet build bauen

Sie bauen die Datenbank mit dotnet build – auf einem Entwicklungsrechner, in CI oder aus einer IDE – mit demselben Ergebnis wie wkl-office build.

Lösungsüberblick

Die Projektdatei ist MSBuild-XML. Importieren Sie an ihrem Ende die Targets des SDK, erhält sie die Targets Build, Rebuild, Clean, Check, Validate, Export und Roundtrip; die MSBuild-Tasks dahinter rufen dieselben Klassen auf wie wkl-office.

BefehlEntspricht in wkl-office
dotnet build Kunden.acprojbuild (-p:WklAccessAccde=true oder false für --accde / --no-accde)
dotnet build Kunden.acproj -t:Rebuildrebuild
dotnet build Kunden.acproj -t:Cleanentfernt build/<configuration>; setzt keine Projektsperre, führen Sie es daher nicht aus, während ein anderer Lauf am Projekt arbeitet
dotnet msbuild Kunden.acproj -t:Check, -t:Validate, -t:Export, -t:Roundtripcheck, validate, export, roundtrip; -t:Export -p:WklAccessDatabaseToExport=<file> exportiert eine andere Datenbank, wie -d

Umsetzung

Fügen Sie den Import als letztes Element in Kunden.acproj ein:

  <Import Project="<folder of Wkl.Office.Sdk.MSBuild>\Wkl.Office.Sdk.targets" />
</Project>
dotnet build Kunden.acproj -p:Configuration=Release

Hinweise

  • Jedes Problem wird zu einem MSBuild-Fehler oder einer MSBuild-Warnung mit Datei und Zeile und dem Code WKL plus der Nummer seiner Phase (WKL001 Quellen, WKL900 ein von der Rundlaufprüfung gefundener Unterschied), sodass Editoren und CI-Protokolle es an seiner Stelle anzeigen.
  • Solange ein anderer Lauf am selben Projekt arbeitet (wkl-office in einem Terminal, das Access-Add-In), schlägt ein Task sofort mit dem Fehler WKL010 fehl und nennt diesen Lauf (Das Projekt ist belegt).
  • Eine Datei, die ein anderes Programm geöffnet hält (ein Editor, ein Virenscanner), lässt den Task mit dem Fehler WKL011 fehlschlagen; er nennt die Datei und das Programm (Eine Datei wird von einem anderen Programm verwendet).
  • Ein Abbruch des Builds (Strg+C, Beenden in einer IDE) fordert das verborgene Access des laufenden Schritts zum Schließen auf und beendet es nach 30 Sekunden; kein Access bleibt zurück.
  • Die Tasks benötigen das MSBuild des .NET SDK (dotnet build). msbuild.exe von Visual Studio läuft auf dem .NET Framework und kann sie nicht laden.

Was reproduzierbar ist

Dieselben Quellen, gebaut mit derselben SDK-Version, demselben Access (Version und Bitbreite), denselben registrierten Verweisen, derselben ANSI-Codepage sowie derselben Vorlage und denselben Steuerelementbausteinen, ergeben eine Datenbank mit denselben Objekten, Tabellen, Daten und Einstellungen, und ihr Export schreibt dieselben Quellen. Die Datenbankdatei ist zwischen zwei Builds nicht bytegleich: Access vergibt jedem aus Text geladenen Objekt eine neue GUID und speichert kompilierten Code und Zeitstempel. Legen Sie diese Eingaben auf Build-Rechnern fest; die Projektdatei nennt keine SDK-Version. Jedes dotnet build baut die ganze Datenbank neu; die Targets sind nicht inkrementell. CI benötigt eine interaktive Windows-Sitzung mit Access (siehe SDK installieren).

Verwandte Themen

de/wiki/msaccess/sdk/how-to/build-with-dotnet-build.txt · Last modified: by Wolfgang van der Stille