Gradnja aplikacije Access z dotnet build
Podatkovno zbirko lahko zgradite tudi z dotnet build: na razvijalskem računalniku, na strežniku CI ali iz razvojnega
okolja. Rezultat je enak kot pri wkl-office build.
Pregled rešitve
Projektna datoteka je datoteka XML za MSBuild. Ko na njen konec uvozite cilje SDK, dobi cilje Build, Rebuild, Clean,
Check, Validate, Export in Roundtrip. Opravila MSBuild, ki stojijo za njimi, kličejo isto kodo kot wkl-office.
| Ukaz | Naredi isto kot wkl-office z |
|---|---|
dotnet build Stranke.acproj | build (-p:WklAccessAccde=true ali false namesto --accde / --no-accde) |
dotnet build Stranke.acproj -t:Rebuild | rebuild |
dotnet build Stranke.acproj -t:Clean | odstrani build/<configuration>; projekta ne zaklene, zato ga ne zaganjajte, medtem ko na projektu poteka drugo izvajanje |
dotnet msbuild Stranke.acproj -t:Check, -t:Validate, -t:Export, -t:Roundtrip | check, validate, export, roundtrip; -t:Export -p:WklAccessDatabaseToExport=<file> izvozi drugo podatkovno zbirko, kot -d |
Izvedba
Uvoz dodajte kot zadnji element datoteke Stranke.acproj:
<Import Project="<folder of Wkl.Office.Sdk.MSBuild>\Wkl.Office.Sdk.targets" /> </Project>
dotnet build Stranke.acproj -p:Configuration=Release
Opombe
- Vsaka težava postane napaka ali opozorilo MSBuild z datoteko, vrstico in kodo
WKLs številko faze (WKL001izvorne datoteke,WKL900razlika, ki jo je našla krožna preverba). Urejevalniki in dnevniki CI jo zato pokažejo na pravem mestu. - Če na istem projektu poteka drugo izvajanje (
wkl-officev terminalu ali dodatek za Access), opravilo takoj ne uspe z napakoWKL010, ki to izvajanje navede (Projekt je zaseden). - Če ima datoteko odprto drug program (urejevalnik, protivirusni program), opravilo ne uspe z napako
WKL011, ki navede datoteko in program (Datoteko uporablja drug program). - Ob preklicu gradnje (Ctrl+C ali ustavitev v razvojnem okolju) SDK skriti Access trenutnega koraka pozove, naj se zapre, po 30 sekundah pa ga konča; noben Access ne ostane odprt.
- Opravila potrebujejo MSBuild iz .NET SDK (
dotnet build).msbuild.exeiz Visual Studia teče na .NET Framework in jih ne more naložiti.
Kaj je ponovljivo
Iste izvorne datoteke, zgrajene z isto različico SDK, istim programom Access (ista različica, 32- ali 64-bitna),
istimi registriranimi sklici, isto kodno stranjo ANSI ter isto predlogo in istimi gradniki kontrolnikov, dajo
podatkovno zbirko z istimi objekti, tabelami, podatki in nastavitvami, njen izvoz pa zapiše iste izvorne datoteke.
Datoteka podatkovne zbirke med dvema gradnjama bajtno ni enaka: Access vsakemu objektu, naloženemu iz besedila, dodeli
nov GUID ter shrani prevedeno kodo in časovne žige. Na računalnikih za gradnjo naštete pogoje ohranjajte nespremenjene;
projektna datoteka različice SDK ne navaja. Vsak dotnet build znova zgradi celotno podatkovno zbirko, saj cilji niso
inkrementalni. CI potrebuje interaktivno sejo sistema Windows s programom Access (glejte
Namestitev SDK).