読者です 読者をやめる 読者になる 読者になる

VSの「プロジェクトの種類がこのインストールでサポートされていません」(ProjectTypeGuids)

SubSonic3.0のソリューションを開こうとして「プロジェクトの種類がこのインストールでサポートされていません」というエラーが出ていた問題ですが、プロジェクトファイルの「*.csproj(C#の場合)」を見たら原因がわかりました。

<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
  (もろもろ)
    <ProjectTypeGuids>{603c0e0b-db56-11dc-be95-000d561079b0};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
  (もろもろ)
  </PropertyGroup>

プロジェクトの属性を表す「ProjectTypeGuids」に「{603c0e0b-db56-11dc-be95-000d561079b0}」が含まれていました。これは「ASP.NET MVC」のプロジェクトを表すGUIDでした。
そんなわけで、これを削除したら開けました。でもSystem.Web.MVCアセンブリ参照できないのでコンパイルエラーになりました。後で、ASP.NET MVCを入れてやり直してみます。
ちなみに、主要なProjectTypeGuidsは以下のような感じです。

  • プロジェクトファイルのProjectTypeGuids属性
    • {66A26720-8FB5-11D2-AA7E-00C04F688DDE}:ソリューション フォルダ
    • {F184B08F-C81C-45F6-A57F-5ABD9991F28F}:Visual Basic
    • {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}:C#
    • {8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}:C++
    • {E24C65DC-7377-472b-9ABA-BC803B73C61A}:Web プロジェクト
    • {3AC096D0-A1C2-E12C-1390-A8335801FDAB}:テストプロジェクト

他のGUIDについてはList of known project type Guidsが詳しいです。