• Daylight Saving in South Australia

    In most states and territories of Australia, we have daylight saving. While there probably aren’t as many benefits for those living in the northern areas of the continent, I quite like it.

    Next year, South Australia’s daylight saving will end on Sunday 6 April at 3am. This is a change from the previous rule of the last Sunday in March, but it brings us into line with NSW, Victoria, ACT and Tasmania, which is probably a good idea.

    Microsoft have been busy releasing time zone updates this year, particularly with changes in some US states and also Western Australia.

    The latest revision includes updates for Australia, including Central Australian Standard Time, Australia Eastern Standard Time and Tasmania Standard Time. Updates for various operating systems are linked from the KB article.

  • Code analysis, VSLangProj and EnvDTE

    If you have a Visual Studio add-in that references the VSLangProj assembly, that assembly implicitly refererences the EnvDTE assembly (version 7.0.3300.0). However that version of EnvDTE doesn’t ship with VS2008.

    There is a binding redirect in place for Visual Studio (via a devenv.exe.config file), but this doesn’t appear to work for the Code Analysis command. I tried modifying the fxcopcmd.exe.config file to no avail.

    The is the error I’m seeing:

    Running Code Analysis… C:\Program Files\Microsoft Visual Studio 9.0\Team Tools\Static Analysis Tools\FxCop\FxCopCmd.exe /outputCulture:1033 /out:”bin\Debug\Altinoren.ActiveWriter.Dsl.dll.CodeAnalysisLog.xml” /file:”bin\Debug\Altinoren.ActiveWriter.Dsl.dll” /dictionary:”..\CodeAnalysisDictionary.xml” /directory:”C:\Program Files\Common Files\Microsoft Shared\MSEnv\PublicAssemblies” /directory:”C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PublicAssemblies” /directory:”C:\Windows\Microsoft.NET\Framework\v2.0.50727” /directory:”C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PublicAssemblies” /directory:”C:\Program Files\Microsoft Visual Studio 2008 SDK\VisualStudioIntegration\Common\Assemblies” /directory:”C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5” /rule:”C:\Program Files\Microsoft Visual Studio 9.0\Team Tools\Static Analysis Tools\FxCop\Rules” /searchgac /ignoreinvalidtargets /forceoutput /successfile /ignoregeneratedcode /saveMessagesToReport:Active /timeout:120 MSBUILD : error : CA0001 : The following error was encountered while reading module ‘Altinoren.ActiveWriter.Dsl’: Assembly reference not resolved: EnvDTE, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a. MSBUILD : error : CA0058 : The referenced assembly ‘EnvDTE, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a’ could not be found. This assembly is required for analysis and was referenced by: ‘Altinoren.ActiveWriter.Dsl.dll’. Code Analysis Complete – 2 error(s), 0 warning(s)

    Update 29th November 2007:

    David Kean has responded to my query in the MSDN forums with a workaround to this problem (Broken link, was originally forums.microsoft.com/MSDN/showpost.aspx?postid=2476065&siteid=1).

  • ActiveWriter for VS 2008

    One of the recent additions to our toolkit has been ActiveWriter - a GUI for generating NHibernate classes and mapping files.

    So before we can make the final jump to using 2008 for all our development, ActiveWriter needs to work.

    Gökhan is planning an update that will work on 2008 - hopefully in a few weeks.

    Wondering if it might not be too hard to do the port myself, I dove in and pointed VS 2008 at the latest source code.


    I’m not an expert in the DSL tools stuff (which probably doesn’t help), but things do appear have changed a little between 2005 and 2008. I wonder if you’re better off creating new projects and copying over the content rather than just doing an upgrade.

    Specifically in the ActiveWriter code, it makes use of the IVsDataConnectionsService interface. I’m not sure of the history of this interface, but it does appear that it has disappeared from the 2008 SDK.

    Curiously, this interface doesn’t even appear documented in the 2005 SDK, and I’m not clear what the appropriate replacement should be.