Partager via


Problems Upgrading from .NET Framework 3.5 Beta 2

I've heard of reports of problems upgrading the C# command-line compiler from the Beta 2 version to the final release, and indeed there is a slight problem. The problem rests with the version number of the compiler's resource DLL.

If you've upgraded from Beta 2 of Visual Studio 2008 to the final release version or if you had previously installed the Beta 2 version of the 3.5 .NET framework and upgraded, your resources may not have been upgraded. Run csc.exe from the 3.5 directory and check the reported version.

C:\WINDOWS\Microsoft.NET\Framework\v3.5>csc
Microsoft (R) Visual C# 2008 Compiler Beta 2 version 3.5.30206
for Microsoft (R) .NET Framework version 3.5
Copyright (C) Microsoft Corporation. All rights reserved.

If you're seeing the red text, your resources were not upgraded correctly, and you may be getting incorrect error messages or worse ones than that of the released product. The reason for this failure to upgrade is that the resource DLL, cscompui.dll, which resides in a subdirectory of "v3.5" such as "1033," has a larger version number than that of the final released product, and setup did not upgrade it.

To get the correct resources, manually rename cscompui.dll to something else and then re-run either VS 2008 or the .NET Framework install, repairing the installation. Afterwards confirm that you have a new cscompui.dll.

Comments

  • Anonymous
    March 14, 2008
    PingBack from http://msdnrss.thecoderblogs.com/2008/03/14/problems-upgrading-from-net-framework-35-beta-2-3/

  • Anonymous
    March 30, 2008
    LINQ in Portuguese ( Direct ) http://www.linqpad.net Eric Lippert Why Can't I Access A Protected Member

  • Anonymous
    March 30, 2008
    Welcome to the forty-second issue of Community Convergence. The last few weeks have been a busy time

  • Anonymous
    May 12, 2008
    Then what about moving the functionality to the new .Convert<T>() method? There is a bug in .Net 3.5 that causes exception when trying to do this: Dim s = "1 2 3 4".Split(" "c).Cast<Integer>,Sum But now you're getting rid if it entirely...