12/21/2008

Silverlight 2 / Visual Studio 2008 “The project type is not supported” error.

 

Recently I managed to discombobulate my Visual Studio 2008 Installation, and had to remove and reinstall the little booger. Everything went pretty much OK except after reapplying the Silverlight_Tools.exe (the combined developer installer), I tried to load an existing Silverlight 2.0 RTM project and got “The project type is not supported by this installation” dialog.

I’m like, “Huh? The installation went perfectly with no errors”.  One fix I found that seems to work perfectly is to run “Devenv /setup”. For some reason this resets all the package loads and Silverlight Tools will be happy ever after.

In my short happy life as a .NET developer, I’ve seen several products where MSIEXEC ends up just sitting there in memory at the end of an install session, all dressed up with no place to go, and it just hasn’t quite finished the job.

While I’m on this subject, it might be appropriate for a quick review of all the DEVENV.EXE switches (the full documentation is here , along with all parameters):

(Note: When you run Visual Studio 2008 on Windows Vista, you must run devenv as an adminstrator in order to use the /Setup  and /InstallVSTemplates )

/? (devenv.exe)
Displays a message box listing all devenv switches, with a brief description of each one.

/Build (devenv.exe)
Builds a solution using a specified solution configuration file

/Clean (devenv.exe)
Cleans all intermediary files and output directories.

/Command (devenv.exe)
Executes the specified command after launching the Visual Studio integrated development environment (IDE).

/DebugExe (devenv.exe)
Opens the specified executable file to be debugged.

/Deploy (devenv.exe)
Deploys a solution after a build or rebuild. Applies to managed code projects only.

/Edit (devenv.exe)
Opens the specified file in an existing instance of Visual Studio.

/LCID (devenv.exe)
Sets the default language used for text, currency, and other values within the integrated development environment (IDE).

/Log (devenv.exe)
Starts Visual Studio and logs all activity to the specified log file for troubleshooting

/NoVSIP (devenv.exe)
Disables the Visual Studio SDK developer license key on a developer workstation and then starts Visual Studio.

/Out (devenv.exe)
Specifies a file to store and display errors when you run, build, rebuild, or deploy a solution.

/Project (devenv.exe)
Identifies a single project within the specified solution configuration to build, clean, rebuild, or deploy.

/ProjectConfig (devenv.exe)
Specifies a project build configuration to be applied when you build, clean, rebuild, or deploy the project named in the /project argument.

/Rebuild (devenv.exe)
Cleans and then builds the specified solution configuration.

/InstallVSTemplates (devenv.exe)
Registers project or item templates that are located in <Visual Studio installation path>\Common7\IDE\ProjectTemplates\ or <Visual Studio installation path>\Common7\IDE\ItemTemplates\ so that they can be accessed through the New Project and Add New Item dialog boxes.

/ResetSettings (devenv.exe)
Restores Visual Studio default settings. Optionally resets the settings to the specified .vssettings file.

/ResetSkipPkgs (devenv.exe)
Clears all options to skip loading added to VSPackages by users wishing to avoid loading problem VSPackages, then starts Visual Studio.

/Run (devenv.exe)
Compiles and runs the specified project or solution.

/Runexit (devenv.exe)
Compiles and runs the specified project or solution, and then closes the integrated development environment (IDE).

/SafeMode (devenv.exe)
Starts Visual Studio in safe mode, loading only the default environment and services.

/Setup (devenv.exe)
Forces Visual Studio to merge the resource metadata that describes menus, toolbars, and command groups, from all available VSPackages.

/Upgrade (devenv.exe)
Updates the solution file and all of its project files, or the project file specified, to the current Visual Studio 2005/2008 formats for these files.

/UseEnv (devenv.exe)
Starts Visual Studio and uses the environment variables for PATH, INCLUDE, LIBS, and LIBPATH in the VC++ Directories dialog box

Well, there they are! I sure didn’t know about all of them. Happy Holidays.