Как создать надстройку Visual Studio на основе F #?
Даже если F # установлен, Visual Studio 2008 (и, возможно, 2010) предоставляет только шаблоны проектов надстройки для С#, VB.NET и С++.
Итак, как создать надстройку на основе F #?
Я попытался создать проект библиотеки классов F # с новым классом, реализующим IDTExtensibility2, установив правильные ссылки (EnvDTE, Extensibility,...), скопировав несколько атрибутов проекта из надстройки С# (главным образом, в командной строке для отладки) и создание файла манифеста .AddIn вручную, но без успеха. Когда VS запущен, моя надстройка не указана в доступных.
Каковы недостающие шаги? Где-то какая-то регистрация COM?
Ответы
Ответ 1
Наконец-то я нашел, что пошло не так: я просто забыл поместить файл .AddIn в каталог AddIn (мастер С# делает это автоматически).
Итак, чтобы создать надстройку F # для Visual Studio:
- Создайте новый проект библиотеки классов F #
- Добавить несколько эталонных сборок в проект (в основном EnvDTE, EnvDTE80, EnvDTE90, Расширяемость)
- Создайте новый класс, реализующий IDTExtensibility2
- Скопируйте свойства отладки проекта Add-In на основе С# в проект F #
- Скопируйте файл манифеста .AddIn и измените его в соответствии с вашим проектом F #
*.. и не забудьте скопировать этот новый файл в каталог AddIn для сеанса пользователя.
- наслаждайтесь!
Ответ 2
Я не пробовал этот точный сценарий, но общая стратегия, с которой мне повезло, - это начать с шаблона С#, переименовать .csproj в .fsproj и изменить <Import>
для F # и заменить <Compile>
кода С# с кодом F # и оттуда.
Шаблоны часто имеют для них различную важную логику для сборки/развертывания, поэтому начните с рабочего шаблона для С# и настройте его для F #.