SharePoint, Visual Studio, Deploy ja “Object reference not set to an instance of an object”

12.12.2007  |  Gunnar

SharePoint SharePoint, Visual Studio, Deploy ja "Object reference not set to an instance of an object" Kui mitmekesi SharePoint‘i web part‘e arendada samas serveris, võib tekkida web part‘i saatmisel Visual Studio’st serverisse järgmine veateade: Object reference not set to an instance of an object. Mis ja miks juhtub, jääb algul selgusetuks, kuid peale hoolsat tuhlamist Google’is sattusin järgmise lahenduse otsa.

Probleemi põhjus

Probleemi põhjuseks on see, et ühel programmeerijal on solution‘i XML-failides teised GUID-koodid kui teistel. Peale nende XML-failide, mis tekivad kompileerimisel ja rakenduse ülessaatmisel serverisse, on rakenduse kataloogis ka selline fail nagu solution.xml. Uute versioonide saatmisel serverisse ei suuda Visual Studio enam tuvastada eelmiseid versioone ning selles kohas tekibki viga, mida näeme Deploy valimisel projekti menüüst.

Lahendus

Kui GUID-id on paigast ära läinud, siis pane Visual Studio kinni, taasta korrektsed GUID-id ning ava projekt Visual Studio’s uuesti. Järgmiseks tee SharePoint puhtaks antud projekti web part‘idest ning lase võimalusel käima undeployment script. Nüüd peaks olema GUID-ide osas puhas seis nii serveris kui ka Visual Studio’s.

Aga sellega pole veel kõik. SharePoint’i andmebaas sisaldab siiski veel viiteid feature-nimelistele objektidele, mis on selle segaduse käigus jäänud orvuks. Enne web part‘ide uue seisu saatmist serverisse peame me vabanema ka orbkirjetest SharePoint’i andmebaasis.

Siinkohal tuleb meile appi Thomas Carpe blogi kanne OMG WTF VSeWSS?! Object Reference Not Set, mille juurest leiame lingi ühele pisikesele programmile, mille abil SharePoint’i andmebaasist orbkirjed ära saame kustutada.

Kui see on tehtud, siis võib web part‘id uuesti serverisse saata. Seekord enam vigu ei tohiks esineda.

Kommenteeri

sulge
Saada link e-postiga

© DT 2012 | Creative Commons Attribution-Noncommercial 3.0 License | WordPress