2013-11-25 81 views
0

我将C++代码从VC 6迁移到VS 2010.我在每个项目上设置构建参数,但是当我尝试构建它们时,我的错误:MSBuid错误MSB4095:项目元数据%(RootDir)被引用时没有项目名称

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小时后:( – sk2013

回答

相关问题