VS2010 Template for F# ASP.NET Web Application

F# PowerPackのバージョンが変わって動作しなくなっているらしい?
出直してきます。

                                                                              • -

作ってみました。

FSharp.AspNet.zipがプロジェクトテンプレートで、FS_ASPNET.aspx.zipがアイテムテンプレートです。
それぞれVS2010で設定されているユーザープロジェクトテンプレート、ユーザー項目テンプレートのディレクトリに置くと動きます。

ただし以下をあらかじめインストールしておく必要があります:

また、以下の問題があります:

  • 作成したプロジェクトを一旦スタートアップ プロジェクトから外すと、再度スタートアップ プロジェクトに設定できない
    • 厳密にはソリューションのプロパティを開いてスタートアップ プロジェクトに設定することはできるが、デバッグ実行できない

プロジェクトテンプレートに同梱されたfsprojファイルでは、当初ProjectTypeGuidsにF#プロジェクトとWebプロジェクトのGUIDを指定していたのですが、これだとファイルの新規追加をしようとした時に、新しい項目の追加ダイアログでファイルが全く表示されず、既存の項目の追加ダイアログ中で aspx と aspx.fs ファイルを自分で新規作成してから追加しなければいけませんでした。
そこでSiliverlightのGUIDを追加してみたところ、F#関連のファイルが新しい項目の追加ダイアログで表示されるようになったので一安心していたのですが、今度は追加したSilverlightのプロジェクト設定が原因で、デバッグ実行できなくなるという不具合が残されてしまいました。

なおProjectTypeGuidsに設定可能な値はどうやら HKLM\SOFTWARE\Microsoft\VisualStudio\10.0\Projects (x64ではHKLM\SOFTWARE\Wow6432\Microsoft\VisualStudio\10.0\Projects) 以下に並んだキーのうち、キーの既定値に"Factory"が含まれるものを指定できるらしいです。(要調査)

きちんと動かすためには HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\Projects\{349C5851-65DF-11DA-9384-00065B846F21}\LanguageTemplates 以下にキーを追加して、対応するプロジェクト設定をProjectsキー以下に登録すればよさそうなんですが、真偽は不明です。

                                                                              • -

To use these file, put FSharp.AspNet.zip into your 'User project templates location', and FS_ASPNET.aspx.zip into your 'User item templates location' directory.
You need to install the following additional packages in advance:

And known issues are:

  • Once you set another project as Startup, you can't set your project again.
    • For more details, you can set your project as Startup with using Solution's property dialog, but can't start debugging (it's disabled).