C# 针对.NET 4.6.1使用Visual Studio Core时,.NET Core ASP.NET MVC WebApi中未命中断点

C# 针对.NET 4.6.1使用Visual Studio Core时,.NET Core ASP.NET MVC WebApi中未命中断点,c#,asp.net,asp.net-core,visual-studio-code,project.json,C#,Asp.net,Asp.net Core,Visual Studio Code,Project.json,我正在编写一个.NET Core MVC应用程序,目标是Framework 461,而不是.NET Core。原因:我正在使用一个尚未准备好用于.NETCore的库,但很快就会准备好 我在Visual Studio代码中执行此操作,有几个问题: 调试开始,但未命中断点。无法理解为什么控制器调用成功 为什么在project.json中将框架从core切换到net 461时,构建过程会生成exe而不是dll 为什么在debug/net461/&debug/net461/win7-x64下面有一个ex

我正在编写一个.NET Core MVC应用程序,目标是Framework 461,而不是.NET Core。原因:我正在使用一个尚未准备好用于.NETCore的库,但很快就会准备好

我在Visual Studio代码中执行此操作,有几个问题:

  • 调试开始,但未命中断点。无法理解为什么控制器调用成功
  • 为什么在project.json中将框架从core切换到net 461时,构建过程会生成exe而不是dll
  • 为什么在debug/net461/&debug/net461/win7-x64下面有一个exe文件 我假设我在launch.json&task.json中的构建过程或project.json中做了一些完全错误的事情,但我看不出问题所在。我想所有的问题都和我的问题有关,所以我把它们放在一个帖子里

    更新1: 在完整的Visual Studio 2015中打开project.json,点击F5并调试works perfekt。所以我的VisualStudio代码配置肯定有问题。与IIS Express和Kestrel合作

    更新2: 将emittentrypoint设置为false。现在它生成了一个dll,但现在无法再运行应用程序。不同的错误…jfy

    project.json

    {
    
        "dependencies": {
            "Microsoft.AspNetCore.Mvc": "1.0.0",
            "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
            "Microsoft.AspNetCore.Server.Kestrel": "1.0.0",
            "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
            "Microsoft.Extensions.Configuration.FileExtensions": "1.0.0",
            "Microsoft.Extensions.Configuration.Json": "1.0.0",
            "Microsoft.Extensions.Configuration.CommandLine": "1.0.0",
            "Microsoft.Extensions.Logging": "1.0.0",
            "Microsoft.Extensions.Logging.Console": "1.0.0",
            "Microsoft.Extensions.Logging.Debug": "1.0.0",
            "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0"
        },
      "tools": {
        "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final"
      },
    
      "frameworks": {
        "net461": {
          "dependencies": {
            "System.Management.Automation": "6.1.7601.17515"
        }
        }
      },
    
      "buildOptions": {
        "emitEntryPoint": true,
        "preserveCompilationContext": true
      },
    
      "runtimeOptions": {
        "configProperties": {
          "System.GC.Server": true
        }
      },
    
      "publishOptions": {
        "include": [
          "wwwroot",
          "Views",
          "Areas/**/Views",
          "appsettings.json",
          "web.config"
        ]
      },
    
      "scripts": {
        "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
      },
    
      "tooling": {
        "defaultNamespace": "BeyondAgent"
      }
    }
    
        {
            "version": "0.2.0",
            "configurations": [
                {
                    "name": ".NET Core Launch (console)",
                    "type": "coreclr",
                    "request": "launch",
                    "preLaunchTask": "build",
                    "program": "${workspaceRoot}\\bin\\Debug\\net461\\win7-x64\\BeyondAgent.exe",
                    "args": [],
                    "cwd": "${workspaceRoot}",
                    "externalConsole": false,
                    "stopAtEntry": false,
                    "internalConsoleOptions": "openOnSessionStart"
                },
                {
                    "name": ".NET Core Attach",
                    "type": "coreclr",
                    "request": "attach",
                    "processId": "${command.pickProcess}"
                }
            ]
        }
    
    {
        "version": "0.1.0",
        "command": "dotnet",
        "isShellCommand": true,
        "args": [],
        "tasks": [
            {
                "taskName": "build",
                "args": [
                    "${workspaceRoot}\\project.json"
                ],
                "isBuildCommand": true,
                "problemMatcher": "$msCompile"
            }
        ]
    }
    
    launch.json

    {
    
        "dependencies": {
            "Microsoft.AspNetCore.Mvc": "1.0.0",
            "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
            "Microsoft.AspNetCore.Server.Kestrel": "1.0.0",
            "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
            "Microsoft.Extensions.Configuration.FileExtensions": "1.0.0",
            "Microsoft.Extensions.Configuration.Json": "1.0.0",
            "Microsoft.Extensions.Configuration.CommandLine": "1.0.0",
            "Microsoft.Extensions.Logging": "1.0.0",
            "Microsoft.Extensions.Logging.Console": "1.0.0",
            "Microsoft.Extensions.Logging.Debug": "1.0.0",
            "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0"
        },
      "tools": {
        "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final"
      },
    
      "frameworks": {
        "net461": {
          "dependencies": {
            "System.Management.Automation": "6.1.7601.17515"
        }
        }
      },
    
      "buildOptions": {
        "emitEntryPoint": true,
        "preserveCompilationContext": true
      },
    
      "runtimeOptions": {
        "configProperties": {
          "System.GC.Server": true
        }
      },
    
      "publishOptions": {
        "include": [
          "wwwroot",
          "Views",
          "Areas/**/Views",
          "appsettings.json",
          "web.config"
        ]
      },
    
      "scripts": {
        "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
      },
    
      "tooling": {
        "defaultNamespace": "BeyondAgent"
      }
    }
    
        {
            "version": "0.2.0",
            "configurations": [
                {
                    "name": ".NET Core Launch (console)",
                    "type": "coreclr",
                    "request": "launch",
                    "preLaunchTask": "build",
                    "program": "${workspaceRoot}\\bin\\Debug\\net461\\win7-x64\\BeyondAgent.exe",
                    "args": [],
                    "cwd": "${workspaceRoot}",
                    "externalConsole": false,
                    "stopAtEntry": false,
                    "internalConsoleOptions": "openOnSessionStart"
                },
                {
                    "name": ".NET Core Attach",
                    "type": "coreclr",
                    "request": "attach",
                    "processId": "${command.pickProcess}"
                }
            ]
        }
    
    {
        "version": "0.1.0",
        "command": "dotnet",
        "isShellCommand": true,
        "args": [],
        "tasks": [
            {
                "taskName": "build",
                "args": [
                    "${workspaceRoot}\\project.json"
                ],
                "isBuildCommand": true,
                "problemMatcher": "$msCompile"
            }
        ]
    }
    
    tasks.json

    {
    
        "dependencies": {
            "Microsoft.AspNetCore.Mvc": "1.0.0",
            "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
            "Microsoft.AspNetCore.Server.Kestrel": "1.0.0",
            "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
            "Microsoft.Extensions.Configuration.FileExtensions": "1.0.0",
            "Microsoft.Extensions.Configuration.Json": "1.0.0",
            "Microsoft.Extensions.Configuration.CommandLine": "1.0.0",
            "Microsoft.Extensions.Logging": "1.0.0",
            "Microsoft.Extensions.Logging.Console": "1.0.0",
            "Microsoft.Extensions.Logging.Debug": "1.0.0",
            "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0"
        },
      "tools": {
        "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final"
      },
    
      "frameworks": {
        "net461": {
          "dependencies": {
            "System.Management.Automation": "6.1.7601.17515"
        }
        }
      },
    
      "buildOptions": {
        "emitEntryPoint": true,
        "preserveCompilationContext": true
      },
    
      "runtimeOptions": {
        "configProperties": {
          "System.GC.Server": true
        }
      },
    
      "publishOptions": {
        "include": [
          "wwwroot",
          "Views",
          "Areas/**/Views",
          "appsettings.json",
          "web.config"
        ]
      },
    
      "scripts": {
        "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
      },
    
      "tooling": {
        "defaultNamespace": "BeyondAgent"
      }
    }
    
        {
            "version": "0.2.0",
            "configurations": [
                {
                    "name": ".NET Core Launch (console)",
                    "type": "coreclr",
                    "request": "launch",
                    "preLaunchTask": "build",
                    "program": "${workspaceRoot}\\bin\\Debug\\net461\\win7-x64\\BeyondAgent.exe",
                    "args": [],
                    "cwd": "${workspaceRoot}",
                    "externalConsole": false,
                    "stopAtEntry": false,
                    "internalConsoleOptions": "openOnSessionStart"
                },
                {
                    "name": ".NET Core Attach",
                    "type": "coreclr",
                    "request": "attach",
                    "processId": "${command.pickProcess}"
                }
            ]
        }
    
    {
        "version": "0.1.0",
        "command": "dotnet",
        "isShellCommand": true,
        "args": [],
        "tasks": [
            {
                "taskName": "build",
                "args": [
                    "${workspaceRoot}\\project.json"
                ],
                "isBuildCommand": true,
                "problemMatcher": "$msCompile"
            }
        ]
    }
    
    代码

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Threading.Tasks;
    using Microsoft.AspNetCore.Mvc;
    using BeyondAgent.Services;
    using BeyondAgent.ViewModels;
    
    namespace BeyondAgent.Controllers
    {
        [Route("api/[controller]")]
        public class DscController : Controller
        {
    
            IViewModelService _viewModelService;
            IDscPowerShellService _dscPowerShellService;
    
            public DscController(IDscPowerShellService dscPowerShellService, IViewModelService viewModelService)
            {
               //BREAKPOINT HERE NOT HIT! _dscPowerShellService = dscPowerShellService;
                _viewModelService = viewModelService;
            }
    
    
        }
    }
    

    我是说这个
    “程序”:“${workspaceRoot}\\bin\\Debug\\net461\\win7-x64\\BeyondAgent.exe”
    会建议它作为exe@AlfieGoodacre我不这么认为。我想这是我配置在它生成后启动的,因为输出不是生成为dll,所以我改为exe。PDB文件在适当的位置,所以我认为调试应该可以工作。。。