Thursday, January 29, 2009

STSDEV on 64bit and DebugRefreshAssemblyInGAC

My new development machine is 64bit and STSDEV has a few things that need to be fixed in order for it to work on 64bit machines - see my $(ProgramFiles) post. The problem I'm talking about here surfaces when you do a DebugRefreshAssemblyInGAC build.

Apparently the .vbs script that the $(ISSAPP_SCRIPT) token in the DebugRefreshAssemblyInGAC section is referring to (C:\windows\system32\iisapp.vbs), will not run until you make CScript your default script environment for *.vbs scripts.

In order to fix the errors STSDEV gives you follow these steps:

  1. Go to C:\Windows\System32 and copy cscript.exe and iisapp.vbs
  2. Place the files in another folder (I used 'C:\Utilities\Builds' as you see below)
  3. alter your DebugRefreshAssemblyInGac to read as follows

    <Target Name="DebugRefreshAssemblyInGac" >
    <Message Text="(Re)installing assembly in GAC and recycling app pool" Importance="high" />
    <Exec Command="$(GACUTIL) -if $(TargetPath)" />
    <Exec Command='cscript.exe iisapp.vbs /a "SharePoint - 80" /r' WorkingDirectory='C:\Utilities\Builds'/>
    <Message Text="" Importance="high" />
    </Target>
  4. Close your solution, then reopen and retry your build

No comments: