从 Visual Studio 2017 中调试 .Net Core 控制台应用程序

Posted

技术标签:

【中文标题】从 Visual Studio 2017 中调试 .Net Core 控制台应用程序【英文标题】:Debug .Net Core Console App out of Visual Studio 2017 【发布时间】:2019-11-29 21:23:08 【问题描述】:

我想运行和调试一个 .Net Core (2.2) 控制台应用程序(不是 ASP.Net Core!)。 因此,我创建了一个非常简单的应用程序:

public static class Program

    public static void Main(string[] args)
    
        WriteLine("**Environment**");
        WriteLine($"Platform: .NET Core");
        WriteLine($"OS: RuntimeInformation.OSDescription");
        WriteLine();
        ReadLine();
    

    private static (string, bool) ParseArgs(string[] args)
    
        var buffer = new StringBuilder();
        var withColor = false;
        foreach (var s in args)
        
            if (s == "--with-color")
            
                withColor = true;
                continue;
            
            buffer.Append(" ");
            buffer.Append(s);
        

        return (buffer.ToString(), withColor);
    

添加了一个 Docker 文件。

添加了Microsoft.VisualStudio.Azure.Containers.Tools.Targets NuGet 包。

终于把launchSettings.json改成了:


  "profiles": 
    "dotnetapp": 
      "commandName": "Project"
    ,
    "Docker": 
      "commandName": "Docker"
    
  

所以一切看起来都像一个支持 docker 的默认 ASP.Net Core WebApp。

但在“运行”时,我只收到错误消息“无法使用此应用程序执行配置文件 'Docker'”。

我不明白,有什么区别?如何像运行 .Net Core ASP 应用一样运行简单的 .Net Core 应用?

【问题讨论】:

您是否在 Visual Studio 中安装了“容器开发工具”组件?可以通过打开Visual Studio Installer进行检查,点击“修改”,查看“单个组件”选项卡下是否选中。 如果您还没有安装Docker desktop,您可能还需要安装它。 两者都是。即使使用 Asp.Net Core 应用程序,也有“添加 -> Docker 支持”之类的菜单点,我可以轻松地在 docker 中运行它 奇怪,mmk。我不知道。我有一个核心控制台应用程序,可以在 VS 2019 w/docker 中正常调试。如果您想进行任何并排比较,请点击此处:github.com/collinbarrett/FilterLists/tree/master/src/… 是的,在 VS2019 中可以正常工作!谢谢@Collin Barrett,请把你的回答作为解决方案,我会关闭它作为工作。 【参考方案1】:

似乎没有答案,但它似乎适用于 Visual Studio 2019 中的 Steffen(和我自己)。也许 Visual Studio 2017 工具中存在错误...

【讨论】:

以上是关于从 Visual Studio 2017 中调试 .Net Core 控制台应用程序的主要内容,如果未能解决你的问题,请参考以下文章

使用 Visual Studio 2017 调试已运行的 Docker Linux .NET Core 容器

从 Visual Studio 调试独立的 exe

在 Visual Studio 2017 上无法使用调试模式 x64 进行 opencv3.2 编译

使用以前版本的 Visual Studio 的 devenv 从 VS2017 测试 Visual Studio 扩展不起作用

Visual Studio 2017 声称我正在调试我的 C++/CLI 项目的发布版本

在 Visual Studio 2017 中禁用烦人的调试器通知