Tietokoneohjelmoinnissa ja tietotekniikassa neutraali koontiversio on sovellus, joka on koottu sen komponentin lähdekoodista järjestelmään, joka ei sisällä mitään työkaluja, kirjastoja tai muuta ohjelmistoa, jota käytettiin ohjelman luomiseen. Neutraalin rakenteen tarkoituksena on varmistaa, että ohjelma voi toimia sellaisena kuin se on kirjoitettu ilman virheitä, jotka johtuvat lähdekoodin ongelmista, jotka voivat jäädä huomaamatta kehitysympäristössä. Termi voi myös viitata ohjelmistoon, joka on koottu tavalla, joten se ei ole riippuvainen mistään erityisestä laitteistosta tai omaan kirjastoon, ja siksi sitä pidetään kehityksen kannalta neutraalina. Monet ohjelmointiprojektit luovat projektille säännöllisesti neutraaleja rakennelmia – joita joskus kutsutaan öisinä rakennuksina – sen varmistamiseksi, että ohjelman nykyisessä rakennusprosessissa ei ole suuria virheitä, kuten puuttuvia tiedostoja tai ristiriitaisia kokoonpanoja .
Yksi syy neutraaliin rakentamiseen liittyy tiettyjen ohjelmistojen kehittämiseen. Yleensä sovelluksen kirjoittamiseen käytetyt tietokoneet ovat asentaneet suuria määriä kehitysohjelmistoja, kuten integroituja kehitysympäristöjä (IDE), ohjelmointikirjastoja ja erityisiä laitteistoja tai muita ohjelmistoliitäntöjä. Nämä kehitystyökalut on joskus integroitu siten, että niiden käyttö on läpinäkyvää ohjelmistokehityksen aikana. Kun ohjelmisto on valmis koottavaksi käytettäväksi muussa kuin kehityssysteemissä, sovelluksen kehitysvälineisiin liittyvät riippuvuudet on määriteltävä nimenomaisesti, jotta ohjelma voi kääntää oikein ja toimia neutraalissa järjestelmässä. Tätä kutsutaan neutraaliksi rakenteeksi.
Neutraali rakentaminen tapahtuu usein neutraalilla tietokoneella tai palvelimella tai neutraalilla sovellusalueella. Tämä tarkoittaa, että mikään kehitystyökaluista ei ole läsnä eikä mitään erityistä, kuten ohjelmointikirjastoa, ole implisiittisesti integroitu kehityksen aikana. Ohjelman rakentaminen puhtaalle järjestelmälle tarkoittaa, että ohjelma voidaan koota johdonmukaisesti sen nykyisessä tilassa ja että valmis suoritettava ohjelma voidaan jakaa ja suorittaa ei-kehitysjärjestelmissä.
Sen lisäksi, että varmistetaan kehitystason riippuvuuksien puuttuminen, neutraali rakenne varmistaa myös, että kaikki eri lähdekooditiedostot ovat läsnä ja päivitetty. Tämä voi olla ongelma, kun tiimi työskentelee projektissa, jossa jotkut tiedostot päivitetään, osa jätetään pois ja jotkut eivät koskaan rekisteröidä muutoksiksi kehityksen seurantakehyksen puitteissa. Neutraali koontiversio poistaa myös mahdollisuuden, että valmiiksi koottuja lähdetiedostoja käytetään uudelleen uusien käännettyjen tiedostojen sijaan, kuten kehitysjärjestelmässä voi tapahtua. Neutraalien koontien luominen on viime kädessä enemmän sen varmistamista, että ohjelma voi suorittaa rakennusprosessin onnistuneesti kuin loogisten tai toiminnallisten virheiden eristämistä.