代码之家  ›  专栏  ›  技术社区  ›  chillitom Cee McSharpface

将库的调试和发布版本添加到VS解决方案

  •  4
  • chillitom Cee McSharpface  · 技术社区  · 15 年前

    我的解决方案如下

    src/Project1
    src/Project2
    src/Project...
    bin/*.{dll,exe}
    lib/Debug/*.dll
    lib/Release/*.dll

    所有项目都设置为生成顶级bin dir。我在lib文件夹中包含了许多第三方库依赖项,我喜欢将它们放在这里,因为它们会与源repo中的软件一起进行版本控制。

    通常,我会让每个项目添加对库的调试版本的引用,但当涉及到发布时,我必须手动更改所有引用以指向发布版本。

    4 回复  |  直到 10 年前
        1
  •  10
  •   stijn    15 年前

    <Reference Include="Debug\XXX" Condition="'$(Configuration)'=='Debug'"/>
    <Reference Include="Release\XXX" Condition="'$(Configuration)'=='Platform'"/>
    

    或者,如果目录名与配置名匹配,您甚至可以执行以下操作:

    <Reference Include="$(Configuration)\XXX"/>
    

        2
  •  2
  •   Ralf de Kleine    15 年前

    修改项目文件中的MSBuild设置,并向引用添加条件。 像这样:

    <Reference Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
        <HintPath>D:\debug\libdll</HintPath>
    </Reference>
    <Reference Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
        <HintPath>D:\release\lib.dll</HintPath>
    </Reference>
    
    • 要编辑项目文件,请先卸载它,然后按编辑项目文件。

        3
  •  1
  •   Kirk It looks like    12 年前

    使用 $(Configuration)

    e、 如果你想使用 在调试模式下,将以下行添加到

    C:\mystuff\lib\$(Configuration)

    在这里 $(配置) 要么 释放

        4
  •  0
  •   Nicholas Petersen    8 年前

    类似于上面@stijn的#2解决方案,但通过HintPath方式显示:

    <Reference Include="CoolWidget">
      <HintPath>..\..\coolWidgetPath\bin\$(Configuration)\CoolWidget.dll</HintPath>
    </Reference>