2010-03-08 6 views
1

Я использовал листы свойств Visual Studio для создания своего кода, и у меня есть полезная иерархия листов, управляющих настройками сборки, а не их в файлах vcproj. Это замечательно, за исключением одного. Кажется, я не могу установить свойства в разделе «По умолчанию проекта», например «Символьный тип» и «Тип конфигурации».CharacterType/ConfigurationType in vsprops

Я попытался с помощью инструмента VCConfiguration в vsprops, но безрезультатно:

<Tool 
    Name="VCConfiguration" 
    ConfigurationType="4" 
/> 

Может кто-нибудь сказать мне, как это будет сделано, пожалуйста?

ответ

3

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

<?xml version="1.0"?> 
<VisualStudioPropertySheet 
     ProjectType="Visual C++" 
     Version="8.00" 
     Name="Unicode Support"> 
     <Tool 
       Name="VCCLCompilerTool" 
       PreprocessorDefinitions="_UNICODE;UNICODE"/> 
     <Tool 
       Name="VCResourceCompilerTool" 
       PreprocessorDefinitions="_UNICODE;UNICODE"/> 
</VisualStudioPropertySheet> 

ConfigurationType однако меняет их много. Лучше всего начать с шаблона проекта ванили. Сохраните файл .vcproj. Измените ConfigurationType и сохраните снова. Запустите diff в двух файлах .vcproj, чтобы узнать, какие параметры вы должны включить в свой лист свойств проекта. Затем вы также легко увидите, что элемент ConfigurationType фактически находится в разделе <Configurations/Configuration>.

+0

Спасибо за ответ, я понимаю, однако атрибуты вне тега инструмента в vsprops игнорируются, если они появляются внутри раздела «По умолчанию проекта». Промежуточные и выходные каталоги могут быть установлены следующим образом: В приведенном выше примере выходной каталог работает, но тип конфигурации игнорируется всеми проектами, которые прямо или косвенно наследуют лист свойств. – Cthutu

+0

@Cthutu: да, вы правы, в настройках по умолчанию для проекта нет возможности выбрать «Наследовать от родительских или проектов по умолчанию». Для этого афайка нет обходного пути. Тем не менее, фактические настройки имеют значение, они управляют тем, как строится проект, а не по умолчанию. –