Visual Studio Community 2017 中的条件参考

2024-03-17

我正在创建一个多平台应用程序。我有一个多目标共享库(针对 .netstandard 2.0 和 .net 4.5)...请参阅项目文件:

  <PropertyGroup>
    <TargetFrameworks>netstandard2.0;net45</TargetFrameworks>
  </PropertyGroup>

当我在 Windows 上的 Visual Studio 2017 中构建项目时,我在输出中得到两个目录(netstandard2.0、net45)和相应的 dll。构建成功。

当我在 Mac 上的 Visual Studio 2017 中构建完全相同的项目(相同的代码)时,我收到以下性质的错误:

类型“OptionAttribute”同时存在于“CommandLine.DotNetStandard,Version=1.0.30”和“CommandLine,Version=1.9.71.2”中

我通过以下方式有条件地引用了命令行解析器库:

  <!-- CommandLineParser library -->
  <ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0'">
    <PackageReference Include="CommandLine.DotNetStandard">
      <Version>1.0.3</Version>
    </PackageReference>
  </ItemGroup>

  <ItemGroup Condition="'$(TargetFramework)' == 'net45'">
    <PackageReference Include="CommandLineParser">
      <Version>1.9.71</Version>
    </PackageReference>
  </ItemGroup>

这对于 Windows 来说效果很好,但在 Mac 上似乎没有观察到这种情况。这是 Mac 上 Visual Studio 的已知错误吗?难道我做错了什么?


在这些情况下,Visual Studio 会忽略该条件。用一个Choose/When相反,应该完全支持:https://msdn.microsoft.com/en-us/library/ms164282.aspx https://msdn.microsoft.com/en-us/library/ms164282.aspx

<Choose> 
  <When Condition=" '$(TargetFramework)' == 'netstandard2.0' ">
    <ItemGroup>
      <PackageReference Include="CommandLine.DotNetStandard">
        <Version>1.0.3</Version>
      </PackageReference>
    </ItemGroup>
  </When>
  <When Condition=" '$(TargetFramework)' == 'net45' ">
    <ItemGroup> 
      <PackageReference Include="CommandLineParser">
        <Version>1.9.71</Version>
      </PackageReference>
    </ItemGroup>
  </When>
</Choose>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Visual Studio Community 2017 中的条件参考 的相关文章

随机推荐

  • PLSQL 触发器通过 SQL 加载器触发

    当我们通过 SQL 加载器插入时 表会被触发吗 请详细解释一下 Oracle 将执行INSERT如果使用常规负载则触发 但是当你使用直接负载时不是 http docs oracle com cd E11882 01 server 112 e
  • 确定 django 中的属性是否为“DeferredAttribute”

    上下文 我在 Django Cache Machine 中发现了一个相当严重的错误 导致其失效逻辑在从 Django 1 4 升级到 1 7 后失去理智 该错误仅限于调用only 在扩展缓存机器的模型上CachingMixin 它会导致深度
  • 如何剪切csv的列

    我有一组 csv 文件 大约 250 个 每个文件有 300 到 500 条记录 我需要从每个文件中剪切 2 或 3 列并将其存储到另一个文件中 我在用着操作系统 有什么办法可以在命令或实用程序中做到这一点吗 如果您知道字段内没有出现列分隔
  • 使用 1xx 响应通过 HTTP 报告进度

    问题 通过 HTTP 提供进度信息 我正在编写一个应用程序 我想为长时间运行的请求提供进度信息 我希望客户端能够报告进度 例如完成百分比 并向用户发送消息 HTTP 1xx 响应 我的目的是在最终 HTTP 响应之前使用 HTTP 1xx
  • 如何在 Gnome 终端中对 Python 错误的输出进行着色?

    注意 我在研究如何实际做到这一点后提出这个问题 其他有点相似但实际上与我的问题不同的问题涉及 颜色编码withinpython脚本 导入颜色库within剧本 使用类似的工具Solarized改进工具 例如Vim对 python 代码进行颜
  • Python unittest:如何临时将标准输出消息重定向到缓冲区并测试其内容?

    我想捕获发送到的消息stdout our stderr 在测试期间暂时断言这些消息中是否出现某些字符串模式 import unittest class SomeTest unittest TestCase def test stdout s
  • Tomcat 6 堆大小 - 这是正确的吗?

    我在 Red Hat 机器上运行多个 tomcat 我想为每个 tomcat 配置单独的堆大小 某些实例使用更多内存 我可以在 catalina sh 文件中输入以下内容来设置堆大小最小 最大 bt CATALINA OPTS Xms64m
  • WPF 将控件可见性绑定到另一个控件的聚焦属性

    我有一个显示项目列表的组合框 我想在它旁边放置一个按钮来触发命令以查看所选项目的详细信息 到目前为止 一切都很好 现在我希望该按钮仅在组合框具有焦点时才可见 或处于 编辑 模式 但不仅在弹出窗口打开时 我想我可以将按钮的可见性绑定到组合框的
  • 命令“git checkout”的含义。 [复制]

    这个问题在这里已经有答案了 虽然我知道标题中的命令类似于撤消对当前存储库的更改 但我无法理解它的实际工作原理或如何读取该命令 任何线索都会有很大的帮助 git 结账
  • Python 中的参数解析(必需与可选)

    我目前正在编写一个能够采用多个标志的脚本 我希望它无论最后一个参数是什么都应该是 start stop status usr bin env python from argparse import ArgumentParser def ar
  • Oracle 11g - FOR 循环仅将工作日插入表中?

    我想将一些数据插入与明年日期相关的表中 实际上我只需要插入工作日 BEGIN FOR i IN 1 365 LOOP INSERT INTO MY TABLE ID MY DATE VALUES i to date sysdate DD M
  • 如何以Python方式获取numpy argwhere函数的最大值

    我想使用 numpy argwhere 来查找数据中的最大值在哪里 下面是一个示例集 描述了我正在做的事情 bins np arange 10 data np array 6 4 8 5 np argwhere bins
  • 有没有办法加快 python 中处理大型 CSV 和数据帧的速度?

    我正在处理一些大小在 1Gb 到 2Gb 范围内的 CSV 文件 仅将文件加载到 pandas 数据帧中就需要 20 30 分钟 而我执行的每个操作则需要 20 30 分钟 例如按列名称过滤数据帧 打印 dataframe head 等 有
  • Hibernate从数据库生成ID函数

    我的代码是 Id GenericGenerator name generator strategy increment GeneratedValue generator generator Column name PM ID nullabl
  • 我可以将 struts.xml 文件更改为其他文件吗?

    当我研究 struts2 时 我遇到了一个典型的问题 问题是我可以改名字吗struts xml文件到其他东西并使其工作 您可以使用您的web xml
  • 在 Windows 7 32 位 SP1 上安装 Python 3.8

    我无法在 Windows 7 32 位 SP1 上安装 Python 3 8 错误日志显示detected windows 7 sp1 without kb2533625我一整天都在搜索这个更新 但没有找到任何帮助 我认为这是 Python
  • “沟通”扩展中的内容js和后台js文件

    我正在编写扩展程序 遇到一个问题 我无法将数据从扩展程序菜单发送到content js 在扩展菜单中 我有一些直觉 填写并单击按钮后 我写下它们的值 我想将它们发送到content js该数据将用于实施html但由于某种原因 数据没有发送
  • Ansible 将变量传递给角色

    我想根据环境和主机名创建文件夹 用户和组 我的剧本将环境和主机名传递给角色 该角色应该从 defaults main yml 文件中选择正确的数据 剧本 roles role myrole environment xxx hostname
  • cakephp 如何将 bootstrap 框架 css 样式包含到我的应用程序中?

    有人将 cake php 与 bootstrap 框架 css 风格集成在一起吗 我希望能够在 cakephp 视图中使用 bootstrap 的优点 像 btn 和面板引导样式 https i stack imgur com dnQyD
  • Visual Studio Community 2017 中的条件参考

    我正在创建一个多平台应用程序 我有一个多目标共享库 针对 netstandard 2 0 和 net 4 5 请参阅项目文件