【问题标题】:Using dotnet from docker to power Visual Studio C# extension (OmniSharp)使用 docker 中的 dotnet 为 Visual Studio C# 扩展提供支持 (OmniSharp)
【发布时间】:2017-05-26 09:24:21
【问题描述】:

我最近尝试借助 docker 镜像 microsoft/dotnet 在我的 Linux 机器上进行一些 C# 开发,该镜像在 docker 镜像中运行良好。

然而,我想将 Visual Studio Code 与由 OmniSharp 提供支持的 C# 扩展一起使用,以获得智能感知/自动完成功能,以及该扩展在该编辑器中的其他好处。

问题是我的发行版(Arch)不支持 .NET Core。有一个 AUR 包,但它经常被破坏而不是工作,我宁愿坚持使用我的 docker 映像在容器中运行 dotnet。

因此我的问题是:我可以让在我的主机操作系统上运行的 Visual Studio Code 的 C# 扩展使用 docker 映像中可用的 dotnet 工具吗?

谢谢

【问题讨论】:

    标签: c# docker visual-studio-code .net-core omnisharp


    【解决方案1】:

    是的,您可以通过 Docker Volumes 将 C# 代码挂接到容器中。试试这样的:

    docker run --name app -d -p 5000:5000 -v <your-project-path>:/app microsoft/dotnet

    注意:确保您使用的是 .NET Core SDK 映像。

    【讨论】:

    • 因为我没有在我的机器上安装 .net sdk 只是使用 docker 容器,因此 Omnisharp 无法正常工作,因为它没有检测到任何已安装的 .NET SDK,即使我为我创建了卷项目
    • 我也有类似的问题,在我的情况下,我在主机上安装了 SDK,但是由于它用于构建应用程序的不同(应用程序使用 docker 容器的 sdk),omnisharp 不能找到对代码的任何引用,并用波浪线留下所有内容。我可能需要将宿主sdk映射到容器,但不知道需要哪些文件。
    猜你喜欢
    • 1970-01-01
    • 2020-05-24
    • 2016-02-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-23
    • 2021-09-24
    • 1970-01-01
    • 2022-01-10
    相关资源
    最近更新 更多