• Windows 8.1 VPN Settings

    In Windows 8 after you had configured a VPN, you could right-click on a VPN connection and a context menu gave you two options:

    • View connection properties
    • Clear cached credentials

    Windows 8 VPN context menu

    The second item is really useful when your password for the VPN has changed, and you need to enter the new password.

    Upgrading to Windows 8.1, this context menu doesn’t seem to exist anymore. It seems that to modify connection properties or credentials, the only option is to search for “Change VPN Settings”.

    Windows 8.1 VPN Settings

    Selecting a VPN connection then enables Edit and Remove buttons. Clicking Edit takes you to the Connection Properties screen, where you can update credentials and VPN proxy settings.

    Strange that this is a bit harder under 8.1.

  • Upgrading to Windows 8.1

    With Microsoft making Windows 8.1 available through MSDN, I thought I’d try upgrading an existing Windows 8 instance. The process was very smooth:

    1. I downloaded the appropriate .iso
    2. Opened the .iso file in Windows 8
    3. Ran setup.exe
    4. Entered license key
    5. Chose to keep existing settings and applications
    6. Wait a while and reboot
    7. Wait a while and then log in
    8. All done

    The only problem I’ve noticed is that connecting the Mail and Calendar apps to an Exchange server with a self-signed certificate no longer works. I’d previously figured out a way to work around this for Windows 8, but it no longer works for 8.1.

  • Code analysis error CA0055 with a project upgraded to .NET Framework 4.5

    I have a Visual Studio solution that was upgraded to use .NET Framework 4.5. It was working fine until I started getting the following error(s) running Code Analysis as part of the build:

    CA0052 : No targets were selected
    
    CA0055 : Could not load D:\dev\MySolution\MyProject\bin\Release\MyProject.exe. The following error was encountered while reading module 'System.Xml': Could not resolve type reference: [mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]System.Runtime.CompilerServices.IAsyncStateMachine
    

    That seemed odd, as I confirmed that the application did have an assembly reference to System.Xml. I even tried re-adding the reference but that made no difference. The interesting thing is that the type (IAsyncStateMachine) is new in .NET 4.5, even though it is included in mscorlib Version 4.0.0.0. That’s because 4.5 is an in-place upgrade.

    I did notice that you do get separate copies of the reference assemblies located in C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework. Reflecting on the mscorlib.dll assembly in the v4.0 folder showed it did NOT have IAsyncStateMachine, but the one in the v4.5 folder did. Could that be relevant?

    Opening up the .csproj file, I discovered that another assembly reference suspiciously had the following HintPath defined

    <Reference Include="System.Web">
    
      <HintPath>C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Web.dll</HintPath>
    
    </Reference>
    

    Re-adding this reference, resulted in Visual Studio changing it to just this:

    <Reference Include="System.Web" />
    

    And then re-building the solution with Code Analysis enabled was successful.