"尝试确定dotnet.exe"

时间:2017-02-20 13:09:48

标签: visual-studio asp.net-web-api visual-studio-2015 .net-core iis-express

我正在构建一个启用了SSL的dotnet核心APIm。当我尝试运行时,我收到以下错误:

  

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

我已经看过无数页面(StackOverflow和其他人)谈论这个问题,我理解它可能发生的主要原因。但是......我几乎肯定他们都不是我的问题。

首先,当我关闭SSL并尝试在没有错误的情况下运行时。其次,当我经历一个"修复"或重新安装不同的dotnet核心/ iis表达它的工作原理。工作一段时间后,它将停止(我想可能在Visual Studio关闭时)。

我一直无法找到任何关于何时开始工作的模式,但我相信它会在Visual Studio 2015关闭时停止。

以下是我做的一些事情,可能会或可能不会让它暂时起作用:

  • 修复IIS,为我提供localhost的https证书
  • 使用SSL地址打开firefox或edge(在没有调试的情况下运行之后)以确保它具有证书(或证书免除)
  • 修复/卸载/重新安装dotnet core
  • 从本地用户删除IIS Express文件

请有人可能会给我一些建议,或者帮助找出具体问题的步骤吗?

或者在我们升级到Visual Studio 2017之前可以使用某种方法吗?

其他信息:

  • 我有时会使用VPN

  • project.json



	{
	  "dependencies": {
		"Microsoft.NETCore.App": {
		  "type": "platform",
		  "version": "1.1.0"
		},
		"Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.1.0-*",
		"Microsoft.Extensions.Logging.Console": "1.1.0",
		"Microsoft.AspNetCore.Diagnostics": "1.1.0",
		"Microsoft.AspNetCore.Mvc": "1.1.0",
		"Microsoft.AspNetCore.Server.IISIntegration": "1.1.0",
		"Microsoft.AspNetCore.Server.Kestrel": "1.1.0",
		"Microsoft.EntityFrameworkCore": "1.1.0",
		"Microsoft.EntityFrameworkCore.SqlServer": "1.1.0",
		"Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.1.0",
		"Microsoft.Extensions.Configuration.FileExtensions": "1.1.0",
		"Microsoft.Extensions.Configuration.Json": "1.1.0",
		"AutoMapper": "5.2.0",
		"Swashbuckle": "6.0.0-beta902",
		"Microsoft.Extensions.Logging.Debug": "1.1.0",
		"Microsoft.IdentityModel.Tokens": "5.1.2",
		"Microsoft.AspNetCore.Authentication.JwtBearer": "1.1.0",
		"OpenIddict": "1.0.0-*",
		"OpenIddict.EntityFrameworkCore": "1.0.0-*",
		"OpenIddict.Mvc": "1.0.0-*",
		"Microsoft.AspNetCore.Authentication.OpenIdConnect": "1.0.0",
		"Microsoft.AspNetCore.Server.Kestrel.Https": "1.0.1",
		"AspNet.Security.OAuth.Validation": "1.0.0-*" 
	  },

	  "tools": {
		"Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.1.0-*"
	  },

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

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

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

	  "publishOptions": {
		"include": [
		  "wwwroot",
		  "web.config",
		  "appsettings.json",
		  "appsettings.production.json",
		  "appsettings.development.json",
		  "appsettings.labs.json",
		  "Resources\\testCert.pfx",
		  "Resources\\SiteWildcard.pfx"
		]
	  },

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




  • launchSettings.json



{
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "https://localhost:44345/",
      "sslPort": 44345
    }
  },
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "App.Api": {
      "commandName": "Project",
      "launchBrowser": true,
      "launchUrl": "http://localhost:5000",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}




2 个答案:

答案 0 :(得分:1)

我想我已经弄清楚它是什么......它只在VPN处于活动状态时才会发生。如果我断开VPN它再次工作。我不知道在VPN处于活动状态时如何使其工作的解决方案,但我现在对此工作非常满意。

这可能会对将来陷入同一位置的其他人有用。对我来说,它有时工作的混乱,有时不工作,因为我必须激活和停用VPN才能连接某些东西。

答案 1 :(得分:1)

https://support.microsoft.com/en-us/help/3180222/warnings-about-an-untrusted-certificate-after-you-install-visual-studio-2015-update-3

以上链接对我有用。

您需要从Windows搜索栏打开Windows PowerShell ISE并输入以下命令:

ipmo PKI
$name = [GUID]::NewGuid()
$cerFile = "$env:TEMP\$name.cer"
$certs = Get-ChildItem Cert:\LocalMachine\My -DnsName localhost -SSLServerAuthentication | ? {($_.FriendlyName -eq 'IIS Express Development  Certificate') -and ($_.SignatureAlgorithm.FriendlyName -ieq 'sha256RSA') -and ($_.EnhancedKeyUsageList.Count -eq 1)}
if ($certs.Count -eq 0)
{
Write-Error 'Cannot find any SHA256 certificate generated by IIS Express.   Please make sure that the latest version of IIS Express is installed.'
}
else
{
foreach ($cert in $certs)
{
    Export-Certificate -Cert $cert.PSPath -FilePath $cerFile -Type CERT |    Out-Null
    Import-Certificate -FilePath $cerFile -CertStoreLocation    Cert:\CurrentUser\Root | Out-Null
    Remove-Item $cerFile -Force
}
Write-Host 'Successfully installed the certificate to Trusted Root Certification Authorities of the current user.'
}

如果上述代码不起作用,只需转到链接并复制即可。 然后,您将收到一条警告消息,单击“是”。 接下来使用Windows搜索来搜索mmc以打开Microsoft管理控制台。

然后您可以从网站上关注其余部分。希望它有所帮助