sk2013
sk2013

Reputation: 33

MSBuid Error MSB4095: The item metadata %(RootDir) is being referenced without an item name

I migrated my C++ code from VC 6 to VS 2010. I setup the build parameters on each project but when I try to build them it gives me error:

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

at line

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

The entire build target looks like :

<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>

Please help me to resolve the error ! I checked the custom build directory on the project settings but I have not added any in the outputs section. Custom build command line has this line:

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)

Rest of the custom build fields are empty. I can't seem to fix this problem myself. Any help would be appreciated. Thanks.

Upvotes: 1

Views: 3655

Answers (1)

Chris
Chris

Reputation: 314

I am having a similar issue, but I see that on the line:

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

It looks like you have missed out the last '

e.g.

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

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

Chris

Upvotes: 3

Related Questions