MSBuid Ошибка MSB4095: ссылка на метаданные%% (RootDir) указана без имени элемента

0

Я перенесла свой код C++ с VC 6 на VS 2010. Я настраиваю параметры сборки для каждого проекта, но когда я пытаюсь их построить, это дает мне ошибку:

Error 101 error MSB4095: The item metadata %(RootDir) is being referenced without an item name. Specify the item name by using %(itemname.RootDir). C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets 806 6 IDLLib

на линии

<MakeDir Directories="@(CustomBuildDirsToMake->'%(RootDir)%(Directory))" />

Целая цель сборки выглядит так:

<Target Name="ComputeCustomBuildOutput" >
<ItemGroup >
  <CustomBuildDirsToMake Include="%(CustomBuildStep.Outputs)" Condition="'%(CustomBuildStep.Command)' != ''"/>
  <CustomBuildDirsToMake Include="%(CustomBuild.Outputs)" Condition="'@(CustomBuild)' != ''"/>
  <Link Include="%(CustomBuildDirsToMake.Identity)" Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'"/>
  <Lib Include="%(CustomBuildDirsToMake.Identity)" Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'"/>
  <ImpLib Include="%(CustomBuildDirsToMake.Identity)" Condition="'%(Extension)'=='.obj' or '%(Extension)'=='.res' or '%(Extension)'=='.rsc' or '%(Extension)'=='.lib'"/>
</ItemGroup><MakeDir Directories="@(CustomBuildDirsToMake->'%(RootDir)%(Directory))" /> </Target>

Пожалуйста, помогите мне решить эту ошибку! Я проверил каталог настраиваемой сборки в настройках проекта, но я не добавил ни одного в раздел выходов. В командной строке командной строки есть следующая строка:

tao_idl.exe -Sci -hs _s.h -ss _s.cpp -si _s.i -hc _c.h -cs _c.cpp -ci _c.i -Cw -I..\..\idls %(Directory)

Остальные поля пользовательской сборки пустые. Я не могу решить эту проблему самостоятельно. Любая помощь будет оценена по достоинству. Благодарю.

  • 0
    Не помогает справка по переполнению стека через 19 часов :(
Теги:
msbuild
visual-studio-2010
msbuild-task

1 ответ

1

У меня подобная проблема, но я вижу, что на линии:

@(CustomBuildDirsToMake->'%(RootDir)%(Directory))"

Похоже, вы пропустили последний '

например

@(CustomBuildDirsToMake->'%(RootDir)%(Directory)')"

(http://msdn.microsoft.com/en-us/library/ms171476.aspx)

Крис

Ещё вопросы

Сообщество Overcoder
Наверх
Меню