Ik maak al een tijdje gebruik van de NuGet package twitter.bootstrap.MVC4, zoals de naam aangeeft zorgt deze ervoor dat je in een MVC4 applicatie snel aan de gang kunt met een bootstrap basis. Daarnaast maak ik gebruik van TFS voor source control.
Sinds de bug gefixed is dat ie soms bij updates files niet wou overschrijven (nu vraagt ie het gewoon ipv het bestand over te slaan) werkt dit perfect en ben ik hier heel tevreden mee.
Echter nu heb ik een tijd terug het idee gekregen om een basis template zelf in een NuGet package te zetten, dit is mijn eigen aangepaste versie van het basis bootstrap pakket welke ik op mijn NAS zet zodat ik snel aan de gang kan met mijn eigen project. Dit werkt in principe ook prima.
Het probleem is dat alle bestanden in de NuGet Package direct in de solution terecht komen (gros staat in de content map in de package, zoals controllers, views, scripts, images etc.) en om die reden dus ook in TFS. Dat is an sich nog niet een probleem want ik kan na installatie gewoon gerust gaan customizen en het hele project uitbouwen. Zo heb ik een handvol projectjes gebouwd en dat werkt allemaal zoals verwacht.
Dan komen we aan bij het probleem: Ik heb in mijn basis template wat wijzigingen gemaakt om de nieuwste jquery enzo te gebruiken, plus wat bugfixes in de js en css. Nu wil ik die wijzigingen natuurlijk doorvoeren in al mijn projectjes, wat eenvoudig zou moeten gaan door een nieuwe versie van de package te maken en deze via NuGet te updaten.
Helaas zijn de bestanden gecustomized per project waardoor zomaar updaten niet gaat, dat was dus een fout.
Nu zit ik te denken naar een oplossing zodat ik niet nogmaals in deze valkuil loop.
Een oplossing zou zijn om binnen een project niet aan de bestanden van de NuGet package te komen. Zodoende kun je deze gewoon blind updaten zonder al te veel werk (hooguit wat BC fixen). Helaas staan de bestanden overal en nergens waardoor je snel per ongeluk een bestandje aanpast uit de package. Daarnaast komen alle bestanden in TFS te staan, terwijl ze nooit bijgewerkt zouden moeten worden. Dit geeft ook nog eens problemen wanneer ik wissel van PC (wat ik regelmatig doe). Wordt namelijk eerst de package geupdate en pas later de TFS zit ik gelijk met allemaal conflicten over bestanden die ik eigenlijk niet eens in TFS wil hebben.
Mijn vraag is dus:
Wat doe ik verkeerd? Is er een manier om die bestanden op een of andere manier te markeren zodat ik weet dat ze niet in TFS moeten en ik ze niet mag bewerken?
Zouden de bestanden niet overal en nergens door het project heen moeten staan? Dit heb ik overgenomen uit de twitter.bootstrap.MVC4 package, maar dat is wellicht niet goed, de vraag is alleen hoe dan wel?
Hopelijk kan iemand deze amateur op weg helpen.
Sinds de bug gefixed is dat ie soms bij updates files niet wou overschrijven (nu vraagt ie het gewoon ipv het bestand over te slaan) werkt dit perfect en ben ik hier heel tevreden mee.
Echter nu heb ik een tijd terug het idee gekregen om een basis template zelf in een NuGet package te zetten, dit is mijn eigen aangepaste versie van het basis bootstrap pakket welke ik op mijn NAS zet zodat ik snel aan de gang kan met mijn eigen project. Dit werkt in principe ook prima.
Het probleem is dat alle bestanden in de NuGet Package direct in de solution terecht komen (gros staat in de content map in de package, zoals controllers, views, scripts, images etc.) en om die reden dus ook in TFS. Dat is an sich nog niet een probleem want ik kan na installatie gewoon gerust gaan customizen en het hele project uitbouwen. Zo heb ik een handvol projectjes gebouwd en dat werkt allemaal zoals verwacht.
Dan komen we aan bij het probleem: Ik heb in mijn basis template wat wijzigingen gemaakt om de nieuwste jquery enzo te gebruiken, plus wat bugfixes in de js en css. Nu wil ik die wijzigingen natuurlijk doorvoeren in al mijn projectjes, wat eenvoudig zou moeten gaan door een nieuwe versie van de package te maken en deze via NuGet te updaten.
Helaas zijn de bestanden gecustomized per project waardoor zomaar updaten niet gaat, dat was dus een fout.
Nu zit ik te denken naar een oplossing zodat ik niet nogmaals in deze valkuil loop.
Een oplossing zou zijn om binnen een project niet aan de bestanden van de NuGet package te komen. Zodoende kun je deze gewoon blind updaten zonder al te veel werk (hooguit wat BC fixen). Helaas staan de bestanden overal en nergens waardoor je snel per ongeluk een bestandje aanpast uit de package. Daarnaast komen alle bestanden in TFS te staan, terwijl ze nooit bijgewerkt zouden moeten worden. Dit geeft ook nog eens problemen wanneer ik wissel van PC (wat ik regelmatig doe). Wordt namelijk eerst de package geupdate en pas later de TFS zit ik gelijk met allemaal conflicten over bestanden die ik eigenlijk niet eens in TFS wil hebben.
Mijn vraag is dus:
Wat doe ik verkeerd? Is er een manier om die bestanden op een of andere manier te markeren zodat ik weet dat ze niet in TFS moeten en ik ze niet mag bewerken?
Zouden de bestanden niet overal en nergens door het project heen moeten staan? Dit heb ik overgenomen uit de twitter.bootstrap.MVC4 package, maar dat is wellicht niet goed, de vraag is alleen hoe dan wel?
Hopelijk kan iemand deze amateur op weg helpen.