Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio EnvDTE的哪个名称空间?_Visual Studio_F# - Fatal编程技术网

Visual studio EnvDTE的哪个名称空间?

Visual studio EnvDTE的哪个名称空间?,visual-studio,f#,Visual Studio,F#,我正在玩着在F#中编写Visual Studio插件的游戏,我正在关注Gabriel Culliver和Brian McNamara发布的一些内容,以回应这些内容 当我在VS2010中将以下代码放入.fs文件时 namespace TestFSharpAddIn open System open Extensibility //open EnvDTE //open EnvDTE80 do() 当我尝试构建时,会出现以下错误: The namespace

我正在玩着在F#中编写Visual Studio插件的游戏,我正在关注Gabriel Culliver和Brian McNamara发布的一些内容,以回应这些内容

当我在VS2010中将以下代码放入.fs文件时

namespace TestFSharpAddIn
    open System
    open Extensibility
    //open EnvDTE
    //open EnvDTE80
    do()
当我尝试构建时,会出现以下错误:

The namespace or module 'Extensibility' is not defined
我添加了对Extensibility.dll的引用,因此我假设Extensibility dll中的名称空间不是“Extensibility”。但似乎无法在对象浏览器中打开扩展性dll。我是不是漏掉了什么明显的东西?如何找出Extensibility.dll中存在哪些名称空间

我也尝试过使用EnvDTE解决几乎相同的问题

该项目是一个经过修改的C#模板(根据Brian的回答),我可以注释掉这个.fs文件中的所有内容,并进行构建,因此我认为项目/解决方案本身是可以的。项目中还有第二个.fs文件,它可以很好地构建,但当然,它不需要引用任何EnvDTE或可扩展性程序集


编辑:

其他信息:

可扩展性.dll

版本7.0.3300.0


路径:C:\Program Files\Common Files\Microsoft Shared\MSEnv\PublicAssemblys\Extensibility.dll

我不确定您的情况如何,但我已验证这在F#中有效。这是我的步骤

  • 新的F#应用程序
  • 添加对扩展性DLL的引用
  • 然后我添加了以下代码来验证引用。它编译得很干净

    open Extensibility
    let x : IDTExtensibility2 = null
    printfn "foo"
    
    我用于扩展性DLL的路径是

    C:\Program Files(x86)\Microsoft Visual Studio 10.0\Visual Studio Tools for Office\PIA\Common\Extensibility.dll


    谢谢你,杰瑞德。如果将“开放扩展性”放在名称空间中会发生什么?一切正常吗?@Jared——冒着恼人的风险——您有哪个版本的Extensibility.dll?我得到的版本(7.0.3300.0)的路径完全不同:C:\Program Files\Common Files\Microsoft Shared\MSEnv\PublicAssemblys\Extensionability。dll@Onorio,我有相同的版本。如果您尝试使用我使用的路径,会发生什么情况?我认为我没有安装VSTO工具。需要再检查一下。