Archive for July 16th, 2007

Filed Under (Script#) by Christiaan van Bergen on July-16-2007

Het fenomeen dat er af en toe truncated Javascript output door de compiler wordt uitgespuwd, mag dan wel opgemerkt worden door Custom MsBuild Task uit mijn vorige post. Het lost het probleem nog steeds niet op. Nu blijkt dat Script# een probleem heeft met het gebruik van volledige namespaces binnen je code.

Gebruik niet


myNameSpace.myClass a = new myNameSpace.myClass();

Maar liever

using myNameSpace;
myClass a = new myClass();

Dit lijkt in veel gevallen de oorzaak van de truncate! Er kunnen nog andere oorzaken zijn, dus let op!



Filed Under (C# code, Script#) by Christiaan van Bergen on July-16-2007

Zoals ik in een vorige post al opmerkte, gebeurt het wel eens dat een Script# compile ogenschijnlijk werkt. Uiteindelijk blijkt dat een groot deel van de compiler output niet is weggeschreven in het resulterende Javascript bestand. Om er voor te zorgen dat je toch een compiler melding krijgt heb ik hier een voorbeeld van een Custom MsBuild Task die je kan gebruiken.

Download CheckCompleteCompile source en binaries.

Pas je .csprj bestand aan met de volgende code (plak dit gewoon aan het einde van het bestand, maar nog wel binnen de </Project> tag) :


  <UsingTask TaskName=”CheckCompleteCompile.Check”
	AssemblyFile=”path\to\CheckCompleteCompile.dll” />
  <Target Name=”AfterBuild”>
    <Check FileName=”$(TargetPath)” />
  </Target>

Zorg dat je niet vergeet het pad naar de CheckCompleteCompile.dll aan te passen.

Zodra nu het Javascript-output bestand NIET de regel  ‘// —- Do not remove this footer —-” bevat, verschijnt de melding:

“** COMPILE FOOTER IS NOT FOUND IN JAVASCRIPT OUTPUT!! **

Nu weet je zeker of je output volledig is of niet.
Voel jezelf uitgenodigd om aanpassingen/verbeteringen te maken en laat het me weten!.