C#工程引用dll如何配置

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
但是CMPackageDaily不同, 不提供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失败。
posted @ 2013-07-02 16:32  muzizongheng  阅读(1162)  评论(0编辑  收藏  举报
如果我们时时忙着展现自己的知识, 将何从忆起成长所需的无知?