我正在F#中编写一个Visual外接程序,我还跟踪了加布里埃尔·库里弗和布莱恩·McNamara在这个问题上发布的一些内容。
当我将以下代码放入VS 2010中的.fs文件中时
namespace TestFSharpAddIn
open System
open Extensibility
//open EnvDTE
//open EnvDTE80
do()当我试图构建时,它会给出以下错误:
The namespace or module 'Extensibility' is not defined我添加了对Extensibility.dll的引用,因此我假设扩展dll中的命名空间不是“可扩展性”。但在对象浏览器中打开可扩展dll似乎是不可能的。我是不是漏掉了什么明显的东西?如何找出Extensibility.dll中存在哪些名称空间?
我也在EnvDTE上尝试了这个问题,几乎都是一样的。
该项目是一个修改过的C#模板(根据布莱恩的回答),我可以注释掉这个.fs文件中的所有内容,并构建它,所以我认为项目/解决方案本身是可以的。项目中有第二个.fs文件,它构建得很好,但当然,它不需要引用任何EnvDTE或可扩展程序集。
编辑:
其他信息:
Extensibility.dll
版本7.0.3300.0
路径: C:\Program \Common\Microsoft Shared\MSEnv\PublicAssemblies\Extensibility.dll
发布于 2010-10-05 20:39:06
我不知道您的情况是怎么回事,但我已经在F#中验证了这一点。这是我的脚步声
然后,我添加了下面的代码来验证引用。它编译得很干净。
open Extensibility
let x : IDTExtensibility2 = null
printfn "foo"用于扩展性DLL的路径是
C:\程序文件(X86)\MicrosoftVisualStudio10.0\VisualStudioToolsforOffice\PIA\Common\Extensibility.dll
https://stackoverflow.com/questions/3867466
复制相似问题