如何创建基于F#的Visual Studio加载项?

时间:2010-08-03 18:35:56

标签: visual-studio f#

即使安装了F#,Visual Studio 2008(可能还有2010)只为C#,VB.NET和C ++提供了外接程序项目模板。

那么,如何创建基于F#的加载项?

我尝试使用实现IDTExtensibility2的新类创建一个F#类库项目,设置正确的引用(EnvDTE,Extensibility,...),从C#Add-In复制一些项目属性(主要是命令行)用于调试),并手动创建.AddIn清单文件,但没有成功。启动VS后,我的加载项未列在可用的加载项中。

缺少的步骤是什么?在某处进行某种COM注册?

2 个答案:

答案 0 :(得分:1)

我没有尝试过这个确切的场景,但我最好的一般策略是:从C#模板开始,将.csproj重命名为.fsproj并为F#更改<Import> s并用F#代码替换<Compile> C#代码,然后从那里开始。

模板通常在构建/部署中有各种重要的逻辑,因此从C#的工作模板开始,并为F#调整它。

答案 1 :(得分:1)

我终于发现了什么问题:我只是忘了将.AddIn文件放在AddIn目录中(C#向导自动执行此操作)。

因此,要为Visual Studio创建基于F#的加载项:

  • 创建一个新的F#类库项目
  • 为项目添加一些参考组件(主要是EnvDTE,EnvDTE80,EnvDTE90,可扩展性)
  • 创建一个实现IDTExtensibility2的新类
  • 将基于C#的加载项项目的调试属性复制到F#项目
  • 复制.AddIn清单文件,并根据您的F#项目进行修改 * ..并且不要忘记将该新文件复制到用户会话的AddIn目录中
  • 享受!