Thursday, January 31, 2008

Gemini Time Tracking Solution


I have started development on a time tracking application for Gemini. I find it very annoying to log onto the web portal and log time against a issue so I have come up with this.

It works pretty sweet, I just have some bugs to sort out, which I don't have time for at this moment.

I will have a downloadable version pretty soon :)

Split Strings With SQL

Create function SplitString (@String varchar(4000), @Delimiter varchar(1))
Returns @Results Table (Items varchar(4000))
As
Begin
Declare @StartIndex int
Declare @Slice nvarchar(4000)

Select @StartIndex = 1
If @String Is NULL Return
While @StartIndex != 0
Begin
Select @StartIndex = CharIndex(@Delimiter, @String)
If @StartIndex != 0
Select @Slice = left(@String, @StartIndex - 1)
else
Select @Slice = @String
Insert into @Results(Items) Values (@Slice)
Select @String = right(@String, Len(@String) - @StartIndex)
If Len(@String) = 0
break
End
Return
End

.NET 1.1 And Windows Vista

If you have been trying to get .NET 1.1 applications running on Vista, I have found a blog entry that explains how this can be done.

Ensure that .NET 1.1 SP1 is properly installed. Vista does not include .NET v1.1 by default. Because .NET 1.1 is not included by default, .NET v1.1 SP1 is also not included. Without SP1, W3WP.exe will crash when running an appPool under v1.1 due to DEP To check this, make sure that "c:\Windows\Microsoft.NET\Framework\v1.1.4322\mscorsvr.dll" is version "1.1.4322.2032" or higher. Unless you are 100% sure that SP1 for .NET is installed, you *really* should double-check this.

Enable IIS 6.0 compatibility

1. Open "Control Panel"
2. Double-click "Programs and Features"
3. Expand "Internet Information Services"
4. Expand "Web Management Tools"
5. Check "IIS 6 Management Compatibility"
6. Register v1.1 with IIS
7. Open a CMD prompt
8. Change your directory to c:\Windows\MIcrosoft.net\Framework\v1.1.4322
9. Run "aspnet_regiis -ir -enable" "ir" registers v1.1 with IIS but doesn't change any existing script mappings "enable" marks aspnet_isapi.dll as "Allowed" under "ISAPI and CGI Restrictions" aspnet_regiis should also create a new AppPool under "Application Pools" called "ASP.NET 1.1" that is configured with the "Classic" pipeline, and "Enable32BitAppOnWin64" set to true if a 64-bit OS.
10. Make the new "ASP.NET 1.1" appPool the default.

Open the IIS manager

1. Select the "Web Sites" folder.
2. Under "Actions" on the upper right, click "Set Web Site Defaults..."
3. Change the "Application Pool" setting to "ASP.NET 1.1"
4. **Alternative step to 4** - Change the AppPool to "ASP.NET 1.1" after creating the ASP.NET project instead of making it the default.
5. Create the v1.1 ASP.NET project via Visual Studio. Attempting to run the project at this point will fail if the 1.1 appPool is not the default.
6. Right-click the newly create application directory and choose "Advanced Settings"
7. Change the "Application Pool" to "ASP.NET 1.1"
8. Go back to Visual Studio and attempt to run/debug project.

Visual Studio 2008 Color Schemes

I have been using a dark color scheme with Visual Studio 2008 for a while now and find that it is not as hard on my eyes as a white background. To the right you will see a screenshot of Visual Studio 2008 with the dark color scheme and a consolas font.

I have to say I will never use any other font again. The Consolas font must be one of the best programming fonts I have seen in a while.

Visual Studio 2008 and Ajax 1.0

If you need to run Ajax 1.0 application with Visual Studio 2008 this is how you do it in 2 easy steps
  1. Create a backup of the System.Web.Extensions.dll and System.Web.Extensions.Design.dll in C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5
  2. Get version 1.061231 of the assemblies and override the ones in C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5.

You should now be able to run Ajax 1.0 applications with Visual Studio 2008

MVP and .NET

I will get to explaining this one day