Какое пространство имен для EnvDTE? - PullRequest
1 голос
/ 06 октября 2010

Я играл над написанием надстройки для Visual Studio на F # и следил за некоторыми вещами, которые Габриэль Калливер и Брайан Макнамара опубликовали в ответ на этот вопрос .

Когда я помещаю следующий код в файл .fs в VS 2010

namespace TestFSharpAddIn
    open System
    open Extensibility
    //open EnvDTE
    //open EnvDTE80
    do()

При попытке собрать мне выдается следующая ошибка:

The namespace or module 'Extensibility' is not defined

Я добавил ссылку на Extensibility.dll, поэтому я предполагаю, что пространство имен в dll Extensibility не является "Extensibility". Но не представляется возможным открыть dll Extensibility в обозревателе объектов. Я что-то упускаю здесь очевидное? Как я могу узнать, какие пространства имен присутствуют в Extensibility.dll?

Я также пытался сделать это с EnvDTE с почти такой же проблемой.

Проект представляет собой модифицированный шаблон C # (согласно ответу Брайана), и я могу закомментировать все в этом файле .fs, и он создается так, что я думаю, что сам проект / решение в порядке. В проекте есть второй файл .fs, который прекрасно собирается, но, разумеется, он не должен ссылаться ни на одну из сборок EnvDTE или Extensibility.


РЕДАКТИРОВАТЬ:

Дополнительная информация:

Extensibility.dll

Версия 7.0.3300.0

Путь: C: \ Program Files \ Common Files \ Microsoft Shared \ MSEnv \ PublicAssemblies \ Extensibility.dll

1 Ответ

2 голосов
/ 06 октября 2010

Я не уверен, что происходит с вашей ситуацией, но я убедился, что это работает в F #.Вот мои шаги

  1. Новое приложение F #
  2. Добавление ссылки на библиотеку расширяемости

Затем я добавил следующий код для проверки ссылки.Он компилируется чисто.

open Extensibility
let x : IDTExtensibility2 = null
printfn "foo"

Путь, который я использовал для DLL расширяемости:

C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ Инструменты Visual Studio для Office\ PIA \ Common \ Extensibility.dll

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...