c# -/usr/share/dotnet/sdks/microsoft.docker.sdk/sdk/sdk.props 找不到

标签 c# linux jenkins msbuild .net-core

enter image description here

friend 们好

在使用 Linux、jenkins 和 docker 探索 dotnet 核心时,我遇到了构建问题,该问题在标题“/usr/share/dotnet/sdks/microsoft.docker.sdk/sdk/sdk.props was not成立”。由于此构建失败。

我检查了 dotnet 安装位置,发现它不可用。

我知道这个特定文件将在安装了 VS 2017 的 Windows 上的这个位置可用 C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Sdks\Microsoft.Docker.Sdk\Sdk

如何安装它或使其在 linux 机器上可用,以便构建可以顺利运行。

为重现问题从终端运行的 PFA 图像。

任何帮助将不胜感激。

最佳答案

这是一个已知问题,请参阅其 issue on GitHub有关详细信息和更新。问题是 VS 中的闭源组件不是 .net CLI 的一部分。

当前的解决方法是:

  • Microsoft.Docker.Sdk 文件夹从您的 VS 安装复制到您正在使用的 CLI 版本。例如来自

    C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\Sdks\Microsoft.Docker.Sdk
    

    进入文件夹

    /usr/local/share/dotnet/sdk/1.0.4/Sdks/
    

    如果 Microsoft.Docker.Sdk 文件夹包含的不仅仅是 Sdk 子文件夹,请删除其他文件夹(例如 build工具).

  • 创建第二个解决方案,其中包含除 docker 项目 (.dcproj) 之外的所有项目,并且仅从 CLI 构建它。

关于c# -/usr/share/dotnet/sdks/microsoft.docker.sdk/sdk/sdk.props 找不到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45460738/

相关文章:

vue.js - Cypress 与 Istanbul 尔不生成代码覆盖率报告

c# - 使用显式接口(interface)实现时如何选择将哪个成员导出到COM?

c# - 如何从 Microsoft CRM 中的 Guid 查找客户实体逻辑名称

linux - shell 脚本无法使用 grep 值设置环境变量

linux - 广播消息中的绑定(bind)函数

maven - 使用 TestNG 运行 Selenium webdriver 脚本时,未使用 mvn clean install 命令创建测试输出文件夹

c# - 存储过程的返回值

c# - 将锁设置为空

linux - 在 bash shell 中解析命令行选项的最佳方法是什么?

python - 通过 jenkins UI 编辑工作区文件