Как добавить платформу из моего VsPackage, чтобы пользователи, устанавливающие мое дополнение, могли выбрать эту платформу решения для построения своих проектов

В Visual Studio 2013 я делаю VsPackage, который выполняет вызовы внешнего инструмента кросс-компиляции, который может создавать для Windows или Linux.

Я хотел бы добавить linux32 и linux64 в качестве выбираемых платформ при установке моего vspackage (в дополнение к уже имеющимся Win32 и x64). Пользователю не нужно вручную добавлять какие-либо платформы (мой vspackage должен инициализировать платформы, готовые для их выбора).

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

После некоторых исследований я попытался сделать это так:

            _applicationObject = (DTE)GetService(typeof(DTE));

EnvDTE.Project project;

project = _applicationObject.Solution.Projects.Item(1);

project.ConfigurationManager.AddPlatform("Linux32", "Win32", true);

Но он возвращает исключение аргумента.

An exception of type 'System.ArgumentException' occurred in package_test.dll but was not handled in user code

Additional information: The parameter is incorrect. (Exception from HRESULT: 0x80070057 (E_INVALIDARG))

Каков правильный способ добавления платформы из VsPackage (то есть программно)?

2

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]