Farbschema: Hell
Sie befinden sich hier: start » sl » Dokumentacija » Orodja za Microsoft Access » WKL Office SDK » reference » Referenčni priročnik projektne datoteke: .acproj

Referenčni priročnik projektne datoteke: .acproj

Sintaksa

<Project>
  <PropertyGroup>
    <SchemaVersion>2</SchemaVersion>
    <AssemblyName>Stranke</AssemblyName>
    <SourceRoot>source</SourceRoot>
    <BaseOutputPath>build</BaseOutputPath>
    <DeliveryRoot>delivery</DeliveryRoot>
    <Configurations>Stranka</Configurations>
    <TargetAccess>any</TargetAccess>
    <Template>template</Template>
    <Accde>false</Accde>
    <AppMode></AppMode>
    <ConnectionProfile>DEV</ConnectionProfile>
    <Finish>FinishBuild</Finish>
    <Test>AllTests</Test>
    <ControlBlocks>control-blocks</ControlBlocks>
    <NeutralLanguage>sl</NeutralLanguage>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)' == 'Release'">
    <Accde>true</Accde>
    <AppMode>Production</AppMode>
    <ConnectionProfile>PROD</ConnectionProfile>
  </PropertyGroup>
  <ItemGroup>
    <TablePolicy Include="tblDrzave" Policy="SeedData" />
    <TablePolicy Include="tblCache" Policy="Ignore" />
  </ItemGroup>
</Project>

Povzetek

Projektna datoteka določa aplikacijo Access, mesto njenih izvornih datotek in način, kako jo zgradi posamezna konfiguracija gradnje. Je datoteka XML za MSBuild, zato jo lahko bere tudi dotnet build; vsa orodja SDK jo razlagajo enako.

Lastnosti

ElementObveznoPrivzetoPomen
SchemaVersionda–2. Projekt DATEC Access SDK (shema 1) SDK zavrne in predlaga ukaz migrate.
AssemblyNameda–Ime aplikacije: hkrati ime datoteke podatkovne zbirke in ime njenega projekta VBA, zato mora biti veljaven identifikator VBA.
SourceRootnesourceMapa s privzetimi mesti izvornih datotek (Razporeditev in formati izvornih datotek), relativno glede na projektno datoteko. Vrsta izvornih datotek, ki jo postavke izvornih datotek postavijo drugam, je ne uporablja.
BaseOutputPathnebuildMapa za vse, kar ustvari gradnja, relativno glede na projektno datoteko, kot BaseOutputPath v MSBuildu: podatkovna zbirka konfiguracije v njeni izhodni mapi <BaseOutputPath>\<configuration>, izdaja v <BaseOutputPath>\Delivery. Mapa znotraj mape projekta (brez ..); ni v nadzoru različic in SDK v njej nikoli ne išče izvornih datotek.
DeliveryRootnedeliveryMapa z nastavitvami izdaje, relativno glede na projektno datoteko: delivery-settings.json, profili izdaje, publisher.json in projekti zaganjalnika. Mapa znotraj mape projekta (brez ..); v nadzoru različic skupaj z izvornimi datotekami.
ConfigurationsnebrezKonfiguracije gradnje poleg konfiguracij Debug in Release, ločene z ;, kot v projektu MSBuild v slogu SDK (Stranka;Test). SDK pozna tudi konfiguracijo, ki tu ni navedena, če ima lastno skupino lastnosti (glejte spodaj).
TargetAccessneanyx86, x64 ali any: ali aplikacija potrebuje 32-bitni ali 64-bitni Access ali deluje v obeh. check ne uspe, če ima računalnik nameščeno drugo različico.
TemplatenebrezProjekt SDK, na katerem temelji aplikacija: mapa z eno datoteko .acproj ali ta datoteka; relativno, absolutno ali pod mapo iz nastavitve paths.templates (WKL_ACCESS_TEMPLATES, Nastavitve SDK). Glejte Predloge.
AccdenefalsePo datoteki ACCDB izdela ACCDE. ACCDE deluje samo v tisti 32- ali 64-bitni različici programa Access, v kateri je bila izdelana (Microsoft); ACCDE za 64-bitni Office zgradite s 64-bitnim programom Access.
AppModenebrezDevelopment, Administration ali Production: način modela aplikacije WKL Forms Object Library, za katerega je izdelana ACCDE. Glejte AppMode.
ConnectionProfilenebrezProfil povezave upravitelja povezav WKL Linked Tables Manager (DEV, TEST, PROD …), s katerim gradnja poveže tabele; brez profila gradnja ne poveže nobene tabele. Gradnja se pri tem dejansko poveže z viri podatkov profila, zato računalnik za gradnjo potrebuje gonilnike, omrežni dostop in prijavo brez poziva; enako velja za roundtrip.
FinishnebrezJavna funkcija standardnega modula izvornih datotek, ki jo gradnja izvede na koncu. Glejte Zaključna funkcija.
TestnebrezJavna funkcija standardnega modula izvornih datotek, ki vrne imena preizkusnih postopkov, ki jih izvede wkl-office test. Glejte Preizkusna funkcija.
ControlBlocksnemapa predloge, nato paths.controlBlocksMapa z gradniki kontrolnikov WKL Forms Object Library, ki v obrazcih nadomestijo ograde. Velja prva nastavljena vrednost v vrstnem redu: ta lastnost, vrednost predloge, spremenljivka okolja WKL_ACCESS_CONTROL_BLOCKS, nastavitev paths.controlBlocks (Nastavitve SDK). Relativna pot se razreši glede na mapo projektne datoteke. Na razvijalskem računalniku je to mapa control-blocks paketa izdaje, na primer %LOCALAPPDATA%\WKL\Access Components\<version>\control-blocks.
NeutralLanguagenebrezKoda jezika nevtralnih besedil (source/texts/neutral.json), na primer sl: jezik, v katerem je aplikacija napisana. Ta jezik ne potrebuje lastne datoteke z besedili, ključi brez besedila v njem pa se ne javljajo. Glejte Struktura izvornih datotek: besedila aplikacije.
AccessDefaultFolder<Kind>neosnovna mapa prve postavke te vrste, sicer privzeto mestoMapa, v katero izvoz zapiše nov objekt te vrste, relativno glede na projektno datoteko, na primer <AccessDefaultFolderForm>ui\pages</AccessDefaultFolderForm>. <Kind> je ime postavke brez Access (glejte Postavke izvornih datotek); vrste iz ene same datoteke te lastnosti nimajo.

PropertyGroup s Condition="'$(Configuration)' == '<name>'" za to konfiguracijo preglasi Accde, AppMode in ConnectionProfile; druge lastnosti so enake za vse konfiguracije (glejte Opombe).

Postavke

PostavkaMetapodatkiPomen
TablePolicy Include="<table>"PolicyKaj gradnja in izvoz naredita s podatki lokalne tabele (spodaj). Tabela, ki ni navedena, ima pravilnik SchemaOnly.
ProjectReference Include="<path>"–Drug projekt Access, na katerega podatkovno zbirko se aplikacija sklicuje kot na knjižnico. SDK ga prebere, vendar ga gradnja ne uporablja.
PravilnikIzvoz zapišeGradnja naloži
SchemaOnlyshemoprazno tabelo
SeedDatashemo in podatkeshemo in podatke (tabele za iskanje, konfiguracija)
FullDatashemo in podatkeshemo in podatke (majhne lokalne podatkovne zbirke, ki se v nadzoru različic hranijo skupaj s podatki)
Generatedshemoprazno tabelo; napolni jo zaključna funkcija
Ignoreničnič (predpomnilniki, stanje posameznega uporabnika)

Postavke izvornih datotek

Brez dodatnih nastavitev so izvorne datoteke na stalnih mestih pod SourceRoot (Razporeditev in formati izvornih datotek). Postavke izvornih datotek postavijo vrsto izvornih datotek drugam: vsaka postavka zajame datoteke, ki jih navaja njen atribut Include, relativno glede na mapo projektne datoteke.

<ItemGroup>
  <AccessForm Include="ui\pages\*.form.txt;ui\dialogs\*.form.txt" Exclude="ui\pages\old\**" />
  <AccessTable Include="db\tables\*.table.json" />
  <AccessReferences Include="db\references.json" />
</ItemGroup>
PostavkaVrstaPrivzeto mesto pod SourceRoot
AccessQuerypoizvedbe .query.txtqueries/*.query.txt
AccessModulestandardni moduli .basmodules/*.bas
AccessClassmoduli razreda .clsclasses/*.cls
AccessFormobrazci .form.txtforms/*.form.txt
AccessReportporočila .report.txt (nastavitve strani .print.json poleg njih)reports/*.report.txt
AccessMacromakri .macro.txtmacros/*.macro.txt
AccessTablesheme tabel .table.jsontables/*.table.json
AccessTableDatapodatki tabel .jsonl (z mapo <table>.files poleg)data/*.jsonl
AccessRelations, AccessReferences, AccessPropertiespo ena datotekarelations/relations.json, references.json, application/properties.json
AccessAppModel, AccessRibbonModel, AccessNavPaneModelpo ena datotekaapplication/app-model.json, ribbons/ribbon.json, navigation/navpane.json
AccessRibbon, AccessImage, AccessTheme, AccessTextstrakovi, slike, mape tem, datoteke z besediliribbons/*.xml, resources/images/*, themes/*, texts/*.json

Pravila:

  • Include in Exclude navajata datoteke ali vzorce, več jih ločite s ;, z nadomestnimi znaki MSBuild: ? pomeni en znak, * poljubno število znakov znotraj imena datoteke ali mape, ** poljubno število map. Velike in male črke niso pomembne. Osnovna mapa vzorca je mapa pred prvim nadomestnim znakom, pri ui\pages\*.form.txt torej ui\pages.
  • Postavka zajame samo datoteke s pripono svoje vrste: pod AccessForm vzorec ui\pages\* zajame tamkajšnje datoteke .form.txt, ne pa nastavitev strani poročila poleg njih.
  • Vrsta brez postavk ostane na privzetem mestu. Projekt brez postavk izvornih datotek SDK prebere natanko tako kot doslej.
  • Če postavka datoteko navede izrecno in jo zajame tudi vzorec druge postavke, datoteka pripada postavki, ki jo navaja. Če isto datoteko zajameta dva vzorca, je to napaka: datoteko izrecno navedite v eni postavki ali zožite vzorce.
  • check in vsak ukaz, ki bere izvorne datoteke, kot napako javijo:
    • postavko, ki ne zajame nobene datoteke;
    • datoteko s pripono objekta, tabele ali podatkov tabele pod SourceRoot ali pod osnovno mapo vzorca, ki je ne zajame nobena postavka (datoteko, ki jo namerno izpustite, izključite z Exclude);
    • dve datoteki z istim objektom.
  • Map build, obj, .git in .vs v mapi projekta ter mape, ki jo navaja BaseOutputPath, SDK nikoli ne preišče.
  • Izvoz vsak objekt zapiše nazaj v datoteko, iz katere izvira. Nov objekt zapiše v AccessDefaultFolder<Kind>; če ta ni nastavljena, v osnovno mapo prve postavke njegove vrste, sicer na njegovo privzeto mesto.
  • Poti v sporočilih (check, roundtrip) so relativne glede na mapo projektne datoteke.

Opombe

  • Česa ni v datoteki. Sklici (v prednostnem vrstnem redu) in lastnosti podatkovne zbirke (s tipi) so samostojne izvorne datoteke, source/references.json in source/application/properties.json, zato izvoz nikoli ne prepiše datoteke, ki jo ureja človek.
  • Drugi elementi. SDK bere samo zgornje lastnosti in postavke, vse drugo prepusti MSBuildu. Datoteka zato lahko vsebuje lastne lastnosti in elemente Import s cilji MSBuild.
  • Pogoji. Skupina lastnosti SDK sprejme samo obliko '$(Configuration)' == '<name>'; vsak drug pogoj je zavrnjen. V skupini konfiguracije SDK upošteva Accde, AppMode in ConnectionProfile; druga lastnost SDK tam (SchemaVersion, AssemblyName, SourceRoot, BaseOutputPath, DeliveryRoot, Configurations, TargetAccess, Template, Finish, Test, ControlBlocks, NeutralLanguage, AccessDefaultFolder<Kind>) je zavrnjena, lastne lastnosti pa SDK prepusti MSBuildu. Skupine postavk s postavkami SDK ne sprejmejo pogoja.

AppMode

Model aplikacije WKL Forms Object Library (application/app-model.json) za vsak način zahteva druge zagonske lastnosti: razvoj (ACCDB), administracija (ACCDE v polni različici programa Access) in produkcija (ACCDE v Access Runtime) – v produkciji na primer brez tipke za obhod in brez posebnih tipk. Aplikacija jih popravi sama, ko ob zagonu pokliče EnsureApplication. Z AppMode jih gradnja takoj zapiše v ACCDE, tako da je izdana datoteka pravilna že ob prvem odprtju, še preden se izvede kakršna koli koda. AppIcon se iz ACCDE odstrani, ker navaja datoteko na računalniku za gradnjo; aplikacija ob prvem zagonu zapiše ikono uporabnikovega računalnika. ACCDB ostane razvojna podatkovna zbirka. check zavrne neznan način in opozori, kadar izvorne datoteke ne vsebujejo modela aplikacije ali konfiguracija ne izdela ACCDE.

Predloge

Objekti, tabele (z njihovimi pravilniki), relacije, sklici in lastnosti predloge se pridružijo tistim iz aplikacije. Izvorna datoteka aplikacije nadomesti istoimensko datoteko predloge; sklici aplikacije so prvi; lastnost aplikacije ima prednost. Tema, modeli in zaključna funkcija pridejo iz predloge, če jih aplikacija nima. Predloga, ki sama navaja predlogo, je zavrnjena. export ne zapiše ničesar, kar prispeva samo predloga; če želite objekt predloge spremeniti za eno aplikacijo, njegovo datoteko kopirajte med izvorne datoteke aplikacije.

Predloge, na kateri gradi več aplikacij, ne hranite v repozitoriju aplikacije: v <Template> vpišite ime mape predloge, v spremenljivko okolja WKL_ACCESS_TEMPLATES pa mapo, v kateri je (več map ločite z ;). Nova različica predloge tako pride z naslednjo gradnjo.

Zaključna funkcija

Gradnja jo izvede z Application.Run po modelih, pred zadnjim prevajanjem in izdelavo ACCDE, za korake, ki jih SDK ne pozna (na primer polnjenje tabel Generated). Ob uspehu vrne "" ali "OK"; vsako drugo besedilo ustavi gradnjo s tem besedilom. Napaka, ki je funkcija ne obravnava, odpre pogovorno okno VBA za napako med izvajanjem, ki ga gradnja prekliče in sporoči. Izvaja se lahko največ 5 minut; potem SDK skriti Access gradnje konča in gradnja ne uspe. Funkcijo zato napišite kot pomožno funkcijo za avtomatizacijo: vse napake naj obravnava sama in namesto sprožene napake vrne besedilo. check zavrne ime, ki ni javna funkcija standardnega modula.

Preizkusna funkcija

wkl-office test jo pokliče z Application.Run v skritem programu Access, ki ga zažene za izvajanje preizkusov. Vrne imena preizkusnih postopkov – javnih postopkov (Sub ali Function) standardnih modulov brez argumentov – kot polje (Array("Orders_Create", "Orders_Delete")) ali kot besedilo z imeni, ločenimi z vejicami. Projekt, ki navede preizkusno funkcijo, ob vsaki gradnji dobi preizkusni modul WklTest iz SDK, tudi če ga izvorne datoteke nimajo; modul WklTest v izvornih datotekah se vedno nadomesti z modulom iz SDK, naslednji izvoz pa ga zapiše v izvorne datoteke. check zavrne ime, ki ni javna funkcija standardnega modula. Glejte Preizkušanje aplikacije.

Ograde za kontrolnike WKL

Pravokotnik v obrazcu, katerega Tag je wkl:<Kind> (wkl:Grid, wkl:ActionBar …), se ob nalaganju obrazca nadomesti z gradnikom kontrolnika <Kind>.control.txt, z imenom, položajem, velikostjo in sidri pravokotnika. Paket izdaje WKL Forms Object Library gradnike prinaša v mapi control-blocks. check navede vsako ogrado, katere gradnik manjka. Izvoz obrazec zapiše s kontrolnikom, zato njegova izvorna datoteka ograde ne potrebuje več.

Primer kode

Konfiguracija izdaje, ki izdela produkcijsko ACCDE in tabele poveže s produkcijskim profilom:

<PropertyGroup Condition="'$(Configuration)' == 'Release'">
  <Accde>true</Accde>
  <AppMode>Production</AppMode>
  <ConnectionProfile>PROD</ConnectionProfile>
</PropertyGroup>
wkl-office build Stranke.acproj -c Release

Sorodne teme

sl/wiki/msaccess/sdk/reference/project-file.txt · Zuletzt geändert: von Wolfgang van der Stille