C#工程引用需要注意的事项:

 <ItemGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
    <Reference Include="McsfCLRNetBase64d">
      <HintPath>..\..\..\..\..\Output\win7_64bit\bin\Debug\McsfCLRNetBase64d.dll</HintPath>
      <Private>True</Private>
    </Reference>
  <ItemGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
    <Reference Include="McsfCLRNetBase64">
      <HintPath>..\..\..\..\..\Output\win7_64bit\bin\Release\McsfCLRNetBase64.dll</HintPath>
      <Private>True</Private>
    </Reference>
 </ItemGroup>
我们现在所有的C#的工程引用其他组的dll 的路径为 ..\..\..\..\..\Output\win7_64bit\bin\Release\McsfXXXXXX.dll,
但是CM的Package和Daily不同, 不提供Output路径。 为什么以前的Build都通过? 因为C#的每个Reference的格式如下所示,
<Reference Include=" McsfXXXXXX ">
      <HintPath>..\..\..\..\..\Output\win7_64bit\bin\Release\ McsfYYYYYY.dll</HintPath>
      <Private>True</Private>
</Reference>
当引用的相对路径找不见dll时, 默认去找Include所起名字的dll, 假如McsfXXXXXX和相对路径中的文件名字McsfYYYYYY不匹配, 就会导致Build失败。
05-17 21:11