尝试确定托管您的应用程序的dotnet.exe的进程ID时发生错误。发生一个或多个错误

时间:2016-12-05 00:30:45

标签: c# asp.net asp.net-mvc asp.net-core

我已从源网址克隆项目。我的朋友使用.NetCore 1.0.0-preview2-003121 sdk开发了asp.net核心Web应用程序。但是在我的电脑上我安装了.NetCore 1.0.1-preview2-003131 sdk。 我收到错误。我更改了global.json文件中的版本,如下所示,但仍然没有解决方案。我谷歌但是所有解决方案都不适合我。

Global.json文件

{
  "projects": [ "src", "test" ],
  "sdk": {
    "version": "1.0.0-preview2-003131"
  }
}

Project.json

{
  "userSecretsId": "aspnet-FMM-02f339eb-4af7-42c9-b7f3-d05b48d36811",

  "dependencies": {
    "Microsoft.NETCore.App": {
      "version": "1.0.0",
      "type": "platform"
    },
    "Microsoft.AspNetCore.Authentication.Cookies": "1.0.0",
    "Microsoft.AspNetCore.Diagnostics": "1.0.0",
    "Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore": "1.0.0",
    "Microsoft.AspNetCore.Mvc": "1.0.0",
    "Microsoft.AspNetCore.Razor.Tools": {
      "version": "1.0.0-preview2-final",
      "type": "build"
    },
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.0",
    "Microsoft.AspNetCore.StaticFiles": "1.0.0",
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
    "Microsoft.Extensions.Configuration.Json": "1.0.0",
    "Microsoft.Extensions.Configuration.UserSecrets": "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",
    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0",
    "Microsoft.VisualStudio.Web.CodeGeneration.Tools": {
      "version": "1.0.0-preview2-final",
      "type": "build"
    },
    "Microsoft.VisualStudio.Web.CodeGenerators.Mvc": {
      "version": "1.0.0-preview2-final",
      "type": "build"
    },
    "Microsoft.EntityFrameworkCore.Tools": {
      "version": "1.0.0-preview2-final",
      "type": "build"
    },
    "Microsoft.EntityFrameworkCore": "1.0.0",
    "Microsoft.AspNetCore.Identity": "1.0.0",
    "Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.0.0",
    "Microsoft.EntityFrameworkCore.Relational": "1.0.0",
    "Microsoft.EntityFrameworkCore.SqlServer": "1.0.0",
    "Microsoft.EntityFrameworkCore.Design": "1.0.0-preview2-final",
    "Microsoft.AspNetCore.Authentication.Facebook": "1.0.0",
    "Microsoft.AspNetCore.Authentication.Google": "1.0.0",
    "MailKit": "1.8.1",
    "NLog.Extensions.Logging": "1.0.0-*",
    "System.Data.SqlClient": "4.1.0"
  },

  "tools": {
    "Microsoft.AspNetCore.Razor.Tools": "1.0.0-preview2-final",
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final",
    "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final",
    "Microsoft.Extensions.SecretManager.Tools": "1.0.0-preview2-final",
    "Microsoft.VisualStudio.Web.CodeGeneration.Tools": {
      "version": "1.0.0-preview2-final",
      "imports": [
        "portable-net45+win8"
      ]
    }
  },

  "frameworks": {
    "netcoreapp1.0": {
      "imports": [
        "dotnet5.6",
        "portable-net45+win8"
      ]
    }
  },

  "buildOptions": {
    "emitEntryPoint": true,
    "preserveCompilationContext": true,
    "xmlDoc": false
  },

  "runtimeOptions": {
    "configProperties": {
      "System.GC.Server": true
    }
  },

  "publishOptions": {
    "include": [
      "wwwroot",
      "Views",
      "Areas/**/Views",
      "appsettings.json",
      "web.config",
      "nlog.config"
    ]
  },

  "scripts": {
    "prepublish": [ "bower install" ],
    "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
  }
}

我的电脑中的点网版

我该如何解决这个问题。请允许任何人让我知道这件事。 [enter image description here

[enter image description here

19 个答案:

答案 0 :(得分:85)

  

尝试确定托管应用程序的dotnet.exe的进程ID时发生错误。发生了一个或多个错误。

当三件事情成立时,可能会出现这个问题:

  1. 您的应用正在尝试使用SSL运行
  2. 您的应用没有设置SSL证书,
  3. 您正在调试您的应用(这会阻止SSL证书设置)。
  4. 作为快速修复尝试,通过 Ctrl + F5 运行应用程序而无需调试,或通过在浏览器中查看应用程序Ctrl + Shift + W 。这可能会为您安装SSL证书。如果没有,请考虑将应用的启动设置从HTTPS更改为HTTP。如果您确实需要SSL,则必须弄清楚如何在本地计算机上安装和使用SSL证书。

    在GitHub和StackOverflow上查看这些内容。

答案 1 :(得分:39)

请注意,要使IIS Express使用SSL,端口需要处于 44300到44399范围(来自How do I restore a missing IIS Express SSL Certificate? - 原始文章https://docs.microsoft.com/en-us/iis/extensions/using-iis-express/running-iis-express-without-administrative-privileges

对于其他端口,Visual Studio 2017没有安装SSL证书,但我能够按How do I restore a missing IIS Express SSL Certificate?

中的建议安装它
  

从提升的命令提示符运行(指定您的端口号):

cd C:\Program Files (x86)\IIS Express
IisExpressAdminCmd.exe setupsslUrl -url:https://localhost:55555/ -UseSelfSigned

修改

然后浏览到网站https://localhost:44348/(使用FF),如果您提示添加安全例外。

答案 2 :(得分:31)

当您尝试在启用“启用SSL”设置的情况下运行应用程序,并且自签名证书尚未作为受信任的根证书安装时,可能会发生这种情况。

要修复,请按以下步骤操作:

  1. CTRL F5 启动您的应用程序,让VS创建自签名证书。
  2. 如果应用程序未在Internet Explorer中启动,请打开IE窗口并将起始URL复制/粘贴到该窗口中。
  3. IE将显示证书警告。点击“继续浏览此网站。”
  4. 单击地址栏中的红色证书错误符号,然后单击“查看证书”。
  5. 在打开的对话框中,单击“安装证书...”。
  6. 在认证安装对话框中选择“本地计算机”,(不是“当前用户”),然后单击“下一步”。
  7. 选择“将所有证书放入以下商店”,然后在“浏览...”对话框中,选择“受信任的根证书颁发机构”。
  8. 完成安装对话框,然后关闭并重新打开浏览器选项卡。现在不应显示证书错误。
  9. 现在你已经准备好在调试模式下用 F5 运行你的项目了。

答案 3 :(得分:7)

我遇到了同样的问题,最终意识到我在我的应用程序的web.config中设置了一个HTTPS URL Rewrite,用于生产。但是,我不想在我的开发环境中弄乱SSL,所以我决定删除它。

删除该部分并尝试再次调试该应用后,我注意到Chrome仍然将我的localhost重定向到HTTPS,尽管我没有在应用程序属性中选择“启用SSL”。

最终我的应用程序在HTTP中本地调试的内容是清除我的Chrome缓存。

希望这可以帮助那些被卡住的人!

答案 4 :(得分:2)

如果使用Windows,请记住始终在System32文件夹内的hosts文件中声明新的IIS网站。这是我的情况,感觉很糟!

答案 5 :(得分:1)

我有一个.NET Core应用程序而且我不小心改变了我的IIS设置 launchSettings.json 以使用https而不是http。恢复该更改会自动修复我的问题。

答案 6 :(得分:1)

对于我来说,问题是由于web.config(http-> https)中的重定向规则引起的。尝试禁用重定向规则,并检查其是否有效。

答案 7 :(得分:0)

在看到 Shaun Luttin 的正确答案后,我发现了我的问题。

我在 web.config 中重写了规则,我在调试时忘记注释掉这些规则,然后在部署到始终“自动”重定向到 HTTPS 时取消注释。

(带有 web.config 的 MVC Core 3.1)

以下是问题:

<rewrite>
      <rules>
        <clear />
        <rule name="Redirect to https" stopProcessing="true">
          <match url=".*" />
          <conditions>
            <add input="{HTTPS}" pattern="off" ignoreCase="true" />
          </conditions>
          <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" appendQueryString="false" />
        </rule>
      </rules>
    </rewrite>

答案 8 :(得分:0)

在我的项目中,我通过将托管模型更改为进行中来解决了该错误。 请进入启动解决方案的属性区域,并将其更改为In Process,然后尝试。 就我而言,它无法通过多次删除bin和obj来解决,但最终却更改了此托管模型已解决的问题。 请按照以下屏幕截图进行操作:

enter image description here

快乐编码:)

答案 9 :(得分:0)

我遇到了同样的错误。就我而言,我忽略了我的web.config文件(doh)中具有URL重新写入规则的事实。注释掉重写规则可解决此问题。

<system.webServer>
    <rewrite>
      <rules>
        <rule name="Redirect to Https" stopProcessing="true">
          <match url="(.*)" />
          <conditions>
            <add input="{HTTPS}" pattern="^OFF$" />
          </conditions>
          <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>

答案 10 :(得分:0)

我遇到了同样的问题,几乎尝试了这里提到的所有解决方案,但是在解决了我能够运行我的项目的问题之后,最终发现我在错误列表中出现了错误。

答案 11 :(得分:0)

我不能让IIS快递使用HTTPS来运行,但我可以使它使用“Web应用程序的个人资料(如发布项目)工作。从命令行,我必须运行:

dotnet dev-certs https --trust

-trust是可选的,但会阻止浏览器对不可信证书发出警告。

答案 12 :(得分:0)

确保您没有为LAN启用代理

其他答案很好,但崩溃后重新启动后出现此错误。 Windows崩溃时,它正在运行Fiddler,后者将自己注册为LAN代理。 由于崩溃以及Windows引导浏览器等正常工作时,提琴手无法自行注销,但是LAN代理设置现在使对IIS Express的访问陷入混乱(可能也与IIS发生冲突)

因此请确保您没有在Internet选项中配置本地代理

答案 13 :(得分:0)

确保您的IP地址没有更改(如果使用DNS名称)

是否使用“真实DNS”或在"myhost/attachment/pictures".中使用替代项,请确保您的本地IP没有更改。

如果您使用的是NAT,但没有为计算机分配固定的本地IP,则此操作非常容易。实际上,可能需要几个月的时间才能获得新的IP,这使它更加令人困惑!

我有一个条目

hosts

在我的主机文件中,但是我的本地IP更改为192.168.1.134 dev.example.com

您可能可以改用192.168.1.136

针对我的情况解决此问题后,我必须重新启动Visual Studio,并重新启动完整的IIS(不确定原因)。

PS。实际上,我在“真实DNS”中设置了127.0.0.1,以方便在具有适当DNS名称和证书的移动设备上进行测试。因此,当这种变化发生时,它就会中断。

答案 14 :(得分:0)

我遇到了同样的问题,我要解决的问题是在launchSettings.json中,我添加了这一行代码,并且未将http更改为https,否则您将得到相同的错误

“ iisSettings”:{     “ windowsAuthentication”:false,     “ anonymousAuthentication”:是的,     “ iisExpress”:{       “ applicationUrl”:“ http://localhost:add您的本地主机ID”,       “ sslPort”:44342     }

答案 15 :(得分:0)

我通过以下操作解决了此问题:

CMD:

netsh http 添加iplisten ipaddress = 192.168.xxx.xxx

然后控件+ c存在, 然后 iisreset

答案 16 :(得分:0)

我通过执行以下步骤解决了这个问题:

  • 将appsettings.Development.json从Solution文件夹复制到\ bin \ Debug \ netcoreapp2.0
  • 将其重命名为appsettings.json

对我来说就像一个魅力。

答案 17 :(得分:0)

如果您使用的是IIS(而不是Express),那么简单的Stop and Start就可以完成这项工作。

答案 18 :(得分:-1)

我没有使用SSL,所以原因很可能是其他原因。对我来说,如果我以管理员身份运行Visual Studio,它就可以工作。