Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
49 / 49 / 15
Регистрация: 13.08.2010
Сообщений: 160

Add VS 2008 нельзя написать более чем одним проэктом

27.06.2011, 20:41. Показов 707. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
народ есть проблема

создаю Add-in for VS 2008

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
    public abstract class SlpConnect : IDTExtensibility2, IDTCommandTarget
    {
        private DTE2 _applicationObject;
        private AddIn _addInInstance;
        private ICreator creator;
 
        protected interface ICreator
        {
            String GetAddInName();
            String GetMenuButtonText();
            String GetToolTipText();
            Int32? GetBitmap();
            String GetCommandName();
            Action<DTE2, AddIn> GetAction();
            String GetSuccessMessage();
        }
        protected SlpConnect(ICreator creator)
        {
            this.creator = creator;
        }
        public void OnConnection(object application, ext_ConnectMode connectMode, object addInInst, ref Array custom)
        {
            _applicationObject = (DTE2)application;
            _addInInstance = (AddIn)addInInst;
 
            if (connectMode == ext_ConnectMode.ext_cm_UISetup)
            {
                Object[] contextGUIDS = new Object[] { };
                Commands2 commands = (Commands2)_applicationObject.Commands;
                CommandBarPopup buildPopup = (CommandBarPopup)(((mvscb.CommandBars)_applicationObject
                    .CommandBars)["MenuBar"]).Controls["Build"];
                Command command = commands.AddNamedCommand(
                    _addInInstance,
                    creator.GetAddInName(),
                    creator.GetMenuButtonText(),
                    creator.GetToolTipText(),
                    true,
                    creator.GetBitmap().HasValue ? creator.GetBitmap().Value : 98,
                    ref contextGUIDS,
                    (int)vsCommandStatus.vsCommandStatusSupported + (int)vsCommandStatus.vsCommandStatusEnabled);
                if ((command != null) && (buildPopup != null))
                    command.AddControl(buildPopup.CommandBar, 1);
            }
        }
        public void OnDisconnection(ext_DisconnectMode disconnectMode, ref Array custom) { }
        public void OnAddInsUpdate(ref Array custom) { }
        public void OnStartupComplete(ref Array custom) { }
        public void OnBeginShutdown(ref Array custom) { }
        public void QueryStatus(string commandName, vsCommandStatusTextWanted neededText, ref vsCommandStatus status, ref object commandText)
        {
            if (neededText == vsCommandStatusTextWanted.vsCommandStatusTextWantedNone)
            {
                if (commandName == creator.GetCommandName())
                {
                    status = (vsCommandStatus)vsCommandStatus.vsCommandStatusSupported | vsCommandStatus.vsCommandStatusEnabled;
                    return;
                }
            }
        }
        public void Exec(string commandName, vsCommandExecOption executeOption, ref object varIn, ref object varOut, ref bool handled)
        {
            handled = false;
            if (executeOption == vsCommandExecOption.vsCommandExecOptionDoDefault)
            {
                if (commandName == creator.GetCommandName())
                {
                    handled = true;
                    new Func<Action<DTE2, AddIn>, Action<DTE2, AddIn>>(a => a ?? ((_, __) => { }))(
                        creator.GetAction())(
                            _applicationObject, _addInInstance);
                    //MessageBox.Show(creator.GetSuccessMessage());
                    return;
                }
            }
        }
    }
    public class Connect : SlpConnect
    {
        protected class Creator : SlpConnect.ICreator
        {
            public string GetAddInName() { return "SlpBuildAndDeploy"; }
            public string GetMenuButtonText() { return "Slp Build And Deploy"; }
            public string GetToolTipText() { return String.Empty; }
            public int? GetBitmap() { return null; }
            public string GetCommandName() { return "SlpBuildAndDeploy.Connect.SlpBuildAndDeploy"; }
            public Action<DTE2, AddIn> GetAction() { return null; }
            public string GetSuccessMessage() { return "Build And Deploy Successfully Finished"; }
        }
        public Connect() : base(new Creator()) { }
    }
все работает, но когда я переношу SlpConnect в другую сборку аддон тупо не подгружается, чесно говоря какой-то бред, уже сомневаюсь в своей адэкватности и в компитентности разработчиков майкрософта, Помогите, люди добрые
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.06.2011, 20:41
Ответы с готовыми решениями:

Написать программу, продлевающюю текст строки длинной не более чем на n символов, причем слова текста разрывать нельзя
Написать программу, продливающюю текст строки длинной не более чем на n символов, причем слова текста разрывать нельзя.

Mdb не открывается более чем одним пользователем Access2010
база лежит на сервере. С каждого компа открывается по очереди. Но если открыта с одного компа с другого не открывается. Без каких либо...

Возможно ли использовать конструктор new ResizeSensor более чем с одним элементом?
Есть два блока, необходимо их сравнивать и в зависимости от ширины и высоты совершать определенные манипуляции. Нашел такую библиотеку...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.06.2011, 20:41
Помогаю со студенческими работами здесь

Ввести строку, в которой слова разделены одним пробелом. Подсчитать количество слов, состоящих из не более чем четырех
#include&lt;stdio.h&gt; #include&lt;string.h&gt; int main() { char ar; int i,kol=0; fgets(ar,15,stdin); for(i=0;i&lt;15;i++) { ...

Написать программу, разбивающую текст на строки длиной не более N символов, причем слова текста разрывать нельзя
Написать программу, разбивающую текст на строки длиной не более N символов, причем слова текста разрывать нельзя.

Очень нужно написать программу, которая удаляет лишние пробелы в тексте: 2 и более пробелов заменяются одним
Помогите, пожалуйста, написать программу (есть часа 3-4, после этого можно не пытаться)), которая, запросив у пользователя максимально 9...

Написать программу, генерирующую массив из не более, чем 1000 случайных целых чисел
Написать программу, генерирующую массив из не более, чем 1000 случайных целых чисел (количество чисел вводится с клавиатуры), затем...

Кто может написать программу нахождения багажа, средний вес одной вещи отличается не более, чем на Т
Помогите написать программу нахождения багажа, средний вес одной вещи отличается не более, чем на Т килограмм от общего среднего веса одной...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru