Visual Studio 2008 是否支持配置(调试/发布版本)特定参考?

2023-12-07

我有一个本机 C++ 项目,其中包含一个 C++/CLI 文件(唯一使用 /CLI 编译的文件),我想添加对 C# DLL 的引用。

有单独的版本用于调试和发布,但是我似乎只能添加一个适用于所有配置的参考。引用搜索路径对话框包含一个警告,如果我尝试使用任何 $ConfigurationName 类型参数,它们将仅引用项目中的第一个配置。

所以我目前的想法是:

  • 将两个项目合并到一个解决方案下,并添加对“项目”而不是 DLL 程序集的引用。我的理解是 Visual Studio 随后将匹配配置。不理想,因为我的项目和 DLL 由不同的区域“拥有”。
  • 一个用于调试的项目(仅具有调试配置)和一个发布项目(仅具有发布配置),但这感觉就像一个困境。

在 Visual Studio 2008 中是否有更简洁的方法来实现配置特定引用?


我通常做的是根据配置将所有项目的输出路径设置到同一位置。例如,对于发布版本,所有内容都放入 /path/to/Release 中,对于调试版本,则所有内容都放入 /path/to Debug 中。然后我手动编辑项目文件以包含一个单独的目标文件,其中包含如下内容:

edit展示如何使用条件来选择带有前缀的调试/发布 dll

<-- file myDll.targets -->
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" >
  <ItemGroup  Condition=" '$(Configuration)' == 'Debug' ">
    <Reference Include="myDll_d">
      <Private>False</Private>
    </Reference>
  </ItemGroup>
  <ItemGroup  Condition=" '$(Configuration)' == 'Release' ">
    <Reference Include="myDll">
      <Private>False</Private>
    </Reference>
  </ItemGroup>
</Project>

然后在需要引用这个dll的项目中包含targets文件:

<Import Project="myDll.targets"/>

因为Private=falsemsbuild 不会尝试复制任何内容,它只会查找 myDll.dll 并在输出路径中找到它。

这不是特别干净,但确实有效。还可以修改目标文件以引用不同的平台 (x86/x64)。

您的第一个想法可能是最常用的,因为它需要更少的麻烦 - 除了项目确实应该在相同的解决方案中(据我所知);

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Visual Studio 2008 是否支持配置(调试/发布版本)特定参考? 的相关文章

随机推荐

  • 在 Dataflow 运行器上拆分 pcollections 时出错

    我有一个用 python 构建的 Apache Beam 管道 我正在从 csv 文件读取行 然后有适用于所有 pcollection 的通用管道步骤 这很好用 对于来自特定文件名的 pcollections 我想执行几个额外的步骤 因此
  • Knockout JS ObservableArray 具有多对多关系

    我正在使用 Knockout js 创建一个来宾列表应用程序 到目前为止一切进展顺利 但是我有一个最佳实践问题 我的应用程序有几种不同类型的对象 其中包括访客和标签 客人可以有多个标签 标签也可以有多个客人 在应用程序的不同点 我需要单独显
  • python:如何获取有关函数的信息?

    当需要有关类型的信息时 您可以使用 my list dir my list gets add class contains delattr delitem delslice doc eq format ge getattribute get
  • 根据条件重置累计计数

    我有一个与此类似的数据框 df pd DataFrame col1 a a a a a a b b b c c c c col2 1 1 1 1 2 2 1 1 2 1 1 2 2 col3 1 1 0 0 0 0 0 1 0 1 1 1
  • bash 中参数过多错误

    我正在编写一个脚本来删除目录中的所有文件以供练习 我在变量周围使用引号 但仍然收到以下错误 usr local bin deleteall line 6 too many arguments usr local bin deleteall
  • javascript 选择更改字段价格并带有折扣 onchange [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我有一个带有小计 折扣和总计的 html 表单 折扣的选择下拉菜单有 5 10 和 20 值 小计的选择下拉菜单有 200 100 和 20 值 另一个输入文本字段获取总计表单
  • 如何将焦点集中到消息框?

    Private Sub CommandButton1 Click Dim i As Long Dim xreply As Integer Dim names As Long Dim IE As Object i ActiveSheet Ra
  • 你能写一个无法实现的接口吗?

    这与java中的最终接口 在讨论中 有一个观点认为与接口相关的 Final 概念是不明确的 最终接口是否意味着它不能有子接口 这是否意味着它不能实现 这是第一个问题 你能编写一个最终接口 这样编译器就会阻止你实现它吗 正如我将展示的 可以使
  • 如何添加js条件

    Hi我想在 JS 中编写一个条件 这将导致添加外部 js 例如 如果条件是 x gt 2 并且为 true 那么我希望它加载不同的外部 js 文件 但如果为 false 则加载另一个 js 文件 我该如何写呢 Thanks var file
  • C#中“<<”代表什么? [复制]

    这个问题在这里已经有答案了 Serializable Flags public enum SiteRoles User 1 lt lt 0 Admin 1 lt lt 1 Helpdesk 1 lt lt 2 这意味着向左移位 所以 int
  • Node.js 不支持 ES6 导入和导出

    我正在使用 WebStorm 2016 2 2 构建一个项目 我使用 Node js 6 6 0 版本 我已将 JavaScript 版本设置为 ES6 但两者都出现 意外令牌 错误import and export关键词 顺便说一句 我没
  • 在 Fortran 中显示包含两列的表格以及可用数据

    我有两个变量说x and y两者都有大约 60 分 基本上是x and y绘图的轴 现在 当我尝试以列或表的形式在结果文件中显示它时x值和对应的y我最终得到了所有的值x两列中显示的值 然后是y价值观 我无法正确地将其取出 这是代码的一小部分
  • ES6 类:通过应用于方法的“addEventListener”访问“this”[重复]

    这个问题在这里已经有答案了 在此 es6 脚本中 单击事件不起作用 因为sayHello方法被调用this elm div as this 如何在不失去范围的情况下将事件与方法关联 class player constructor name
  • 在 html 中加载 javascript 的理想位置在哪里? [复制]

    这个问题在这里已经有答案了 我理解分散在 html 代码中的内联 javascript 如下例所示 这很糟糕 p Foo p 然而 经过一段时间的编码后 了解在文档末尾加载 JavaScript 是最好的方法 我确实看到很多网站都符合在文档
  • 在 Python 中获取精确的 Android GPS 位置

    我尝试在 Python 中获取 Android 手机的 GPS 位置 使用 QPython3 应用程序 这种方法可行 但 Android 中似乎有几个 LocationProvider gps 纯gps定位 速度慢 耗能 但非常准确 正是我
  • 如何在线程完成可运行后停止线程?

    我有一个任务列表和有限数量的线程 目标是计算使用此数量的线程完成任务所需的时间 我知道我使用线程的方式有问题Runnable目的 我对他们来说是新手 似乎不知道如何解决它 它的错误是java lang OutOfMemoryError Ja
  • Twitter Bootstrap - 在行之间添加顶部空间

    如何添加边距顶部class row 使用 twitter bootstrap 框架的元素 在 Twitter bootstrap 中编辑或覆盖行是一个坏主意 因为这是页面脚手架的核心部分 您将需要没有上边距的行 要解决此问题 请创建一个新类
  • 这个片段的复杂度是 O(log^2(n)) 吗?

    如果不是 那么复杂性会是多少 谢谢 public static int f int n int x for int i n i gt 0 i 2 for int j 0 j lt i j x j Assume this operation
  • 在 gitolite 中重新生成authorized_keys 文件?

    是否可以 我的authorized keys 文件被擦除 更新 gitolite 管理规则仅附加到文件 是否可以根据 gitolite 配置重新生成整个文件 编辑 找到了 gitolite trigger POST COMPILE 使用 g
  • Visual Studio 2008 是否支持配置(调试/发布版本)特定参考?

    我有一个本机 C 项目 其中包含一个 C CLI 文件 唯一使用 CLI 编译的文件 我想添加对 C DLL 的引用 有单独的版本用于调试和发布 但是我似乎只能添加一个适用于所有配置的参考 引用搜索路径对话框包含一个警告 如果我尝试使用任何