c# - 无法使用带有 Visual Studio 2015 的 IIS Express 调试 ASP.NET 5

标签 c# visual-studio-2015 dnx asp.net5

当我尝试在 Visual Studio 2015 中调试 asp.net 5 应用程序时,出现以下错误 “尝试确定托管您的应用程序的 DNX 进程的进程 ID 时发生错误” enter image description here

更新 2

It is only happening in Windows 10. I tested with Windows 7 and I did not run into this error.

我可以在 Visual Studio 2015 中使用“web”选项运行,但错误发生在 IIS Express 上。当我按 ctrl+F5(不调试运行)时,浏览器窗口打开,只是坐在那里什么也不做(光标永远旋转)。

工具栏快照 enter image description here

Output -> Debug 窗口是空的,所以不确定这个错误的根本原因是什么。不确定是否还有其他地方需要查找更多错误详细信息。 enter image description here

我有

Microsoft Visual Studio Professional 2015 Version 14.0.25123.00 Update 2 
Microsoft .NET Framework Version 4.6.01038
Windows 10 pro v1511 OS build 10586.218  
DNVM 1.0.0-rc1-15540
Microsoft .NET Development Utility Clr-x86-1.0.0-rc1-16609

我什至尝试了 dnvm upgrade,将 dnx 升级到 dnx-clr-win-x86.1.0.0-rc1-update2,但仍然出现错误。

我尝试了

中列出的大部分解决方案

An error occurred attempting to determine the process id of the DNX process hosting your application

An error occurred attempting to determine the process id of the DNX process hosting your application on clean installed windows 10 + vs2015

但没有一个有效。

这里有一个简单的测试应用程序,如果有人想看的话。 https://github.com/vinodbadugu/aspnet5test

launchsettings.json(更新 1)

    {
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:44342/",
      "sslPort": 0
    }
  },
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "launchUrl": "http://localhost:44342/",
      "environmentVariables": {
        "Hosting:Environment": "Development"
      },
      "sdkVersion": "dnx-clr-win-x86.1.0.0-rc1-update2"
    },
    "web": {
      "commandName": "web",
      "environmentVariables": {
        "Hosting:Environment": "Development"
      }
    }
  }
}

项目.json

{
  "version": "1.0.0-*",
  "compilationOptions": {
    "emitEntryPoint": true
  },

  "dependencies": {
    "Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final",
    "Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final",
    "Microsoft.AspNet.Diagnostics":  "1.0.0-rc1-final"
  },

  "commands": {
    "web": "Microsoft.AspNet.Server.Kestrel"
  },

  "frameworks": {
    "dnx451": { },
    "dnxcore50": { }
  },

  "exclude": [
    "wwwroot",
    "node_modules"
  ],
  "publishExclude": [
    "**.user",
    "**.vspscc"
  ]
}

启动.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNet.Builder;
using Microsoft.AspNet.Hosting;
using Microsoft.AspNet.Http;
using Microsoft.Extensions.DependencyInjection;

namespace Tutorial1
{
    public class Startup
    {
        // This method gets called by the runtime. Use this method to add services to the container.
        // For more information on how to configure your application, visit http://go.microsoft.com/fwlink/?LinkID=398940
        public void ConfigureServices(IServiceCollection services)
        {
        }

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app)
        {
            app.UseIISPlatformHandler();
            app.UseDeveloperExceptionPage();

            app.Run(async (context) =>
            {
                await context.Response.WriteAsync("Hello World!");
            });
        }

        // Entry point for the application.
        public static void Main(string[] args) => WebApplication.Run<Startup>(args);
    }
}

dnvm 列表

Active Version           Runtime Architecture OperatingSystem Alias
------ -------           ------- ------------ --------------- -----
       1.0.0-rc1-update1 clr     x64          win
       1.0.0-rc1-update1 clr     x86          win
       1.0.0-rc1-update1 coreclr x64          win
       1.0.0-rc1-update1 coreclr x86          win
  *    1.0.0-rc1-update2 clr     x86          win             default
       1.0.0-rc1-update2 coreclr x86          win

最佳答案

我在 IISExpress 中运行调试时遇到了同样的问题。同样在 Windows 10 上。始终收到“尝试确定托管您的应用程序的 DNX 进程的进程 ID 时发生错误”。即使对于没有更改和身份验证的新 Web 应用程序也是如此。尝试了上面 Vinod 列出的所有 StackOverflow 解决方案。

对我有用的是安装“Microsoft ASP.NET 和 Web 工具”的最新更新(版本 14.1.20512.0 -- 日期为 5/18/2016 - https://visualstudiogallery.msdn.microsoft.com/c94a02e9-f2e9-4bad-a952-a63a967e3935)。在我几乎尝试了所有操作后的第二天,更新就正式发布了。它甚至可以在启用 Windows 身份验证的情况下调试 IISExpress 上的应用程序。

希望这对您有所帮助。

关于c# - 无法使用带有 Visual Studio 2015 的 IIS Express 调试 ASP.NET 5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36945663/

相关文章:

intellisense - 为什么 Visual Studio 2015 Community Edition intellisense 看不到 ARM "apiVersion": "2016-03-30" for virtualMachines?

c# - VS 2015 更新 3 vbcscompiler.exe 使用所有 cpu

asp.net-core - 如何重新运行 dnx . kestrel 命令对任何文件进行更改?

c# - 使用 LINQ-to-Entities 返回一个对象集合,其中一个对象属性与另一个对象集合中的任何属性匹配

c++ - 为什么这段代码在 Debug 模式下运行速度比 Release 慢 100 多倍?

msbuild - 如何为 ASP.NET 5 项目设置 TeamCity 构建

iis - IIS 上托管的 ASP.NET 5 (DNX) 中的 WebSocket 无法正常工作

c# - "WireUpCoreRuntime"任务意外失败 Visual studio 2017

c# - ASP.Net体系结构,用于将上传内容传递给第三方

c# - 在共享相同接口(interface)的类之间进行转换