我试图建立一个新的工作空间,并将所有项目从旧计算机转移到新计算机上。但是,当我尝试运行IIS Express时出现此错误:
无法启动进程C:\ Program Files \ dotnet \ dotnet.exe。Web服务器请求失败,状态码为500。
我正在Visual Studio 2015更新3中工作,并且正在使用.NET Core RC2。有谁知道如何解决此问题并使我的旧项目在这台新计算机上运行?
我试图建立一个新的工作空间,并将所有项目从旧计算机转移到新计算机上。但是,当我尝试运行IIS Express时出现此错误:
无法启动进程C:\ Program Files \ dotnet \ dotnet.exe。Web服务器请求失败,状态码为500。
我正在Visual Studio 2015更新3中工作,并且正在使用.NET Core RC2。有谁知道如何解决此问题并使我的旧项目在这台新计算机上运行?
launchsettings.json
文件并将端口号更改为其他名称,然后dotnet build
从VS进行构建或尝试使用IIS Express进行启动
modules="AspNetCoreModule"
从modules="AspNetCoreModuleV2"
在web.config
。我的项目环境是dotnet core 2.1和vs2017。文档说,对于dotnet core v2.1,它必须是它modules="AspNetCoreModule"
;对于dotnet core 2.2或更高版本,它需要是 modules="AspNetCoreModuleV2"
。在这里<handlers> <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" /> </handlers>
Answers:
我遇到了同样的问题。我在该目录中查找dotnet.exe,并且该目录存在,但调试器无法执行它,因此我以管理员身份重新启动Visual Studio 2015,并且可以正常运行!
我的问题是
1-我将项目(控制台/网站)从(升级).net 4.5 framework
到donetcoreapp 2.0
2- .NET Framework 4.5项目具有Web.Config
3- dotnetcore 2.0没有维护web.config的概念。
4-所以每当我运行项目时,我都会遇到相同的错误
解:
刚刚删除'Web.Config'
,它开始为我工作。
web.config
刚刚的作品就像一种魅力-谢谢。
就我而言。在运行/调试时,我选择“ ProjectName”而不是“ IIS Express”。并且可以通过控制台输出窗口和选定的浏览器工作/打开,在调试时保持控制台输出窗口为打开状态。希望这会起作用。
Visual Studio 2017->对我来说,修复是在调试/运行时选择项目名称而不是IISExpress。
如果以上解决方案在VS2017 .Net Core中不起作用,请以VS2017作为ADMIN的身份运行。如果没有ADMIN访问您的计算机,则可以将'launchSettings.json'更改为在端口8080上工作,如下所示,然后按照上面的4个步骤进行操作。
“ applicationUrl”:“ http:// localhost:8080 / ”,
这对我有用:
我遇到了同样的问题,结果发现我根本没有正确的运行时版本(1.1.0);相反,我试图在1.0.1运行时中使用1.1.0程序集。
解决方法很简单-从此处下载并安装SDK ,但选择正确的版本!原来,如果要使用1.1.0版,则应选择“当前”选项(按钮)。
基本上,问题是由参考页面上的愚蠢界面引起的-如果您不注意,则将下载v1.0.1,因为它是“ LTS”版本,并且那里默认是“ LTS”选项。该说些什么……在这个疯狂的版本化,疯狂的绰号,疯狂的平台时代,.NET团队又一次失望了……
引文来自peske:https : //github.com/aspnet/Home/issues/1719
这是对与OP发布内容略有不同的问题的解答。如果错误消息仅包含“ dotnet.exe”,而不是dotnet.exe的完整路径(“ C:\ ProgramFiles \ DotNet \ dotnet.exe”),则检查dotnet.exe是否位于System.Environment路径中,如果不添加它并以管理员身份运行VS
我的解决方案是从项目根目录中删除web.config。我当时在从事ASPnetcore项目,一周后错误开始出现。我不确定如何添加该web.config文件,但是一旦删除,它们的错误就可以解决。
这是由applicationhost.config文件中的错误路径引起的,该文件可以在项目文件夹中找到。转到您的项目文件夹。在那里您将找到一个 名为.vs的文件夹,如果找不到,则在文件夹打开中,您必须取消选中“隐藏”文件夹。找到它后,导航到config 文件夹,您会找到applicationhost.config。在记事本中打开此文件,然后提供您的项目位置,如下所示:-
<virtualDirectory path="/" physicalPath="c:\users\*****\documents\visual studio 2015\Projects\<ProjectFolderName>\<Projectname>" />
希望这会帮助你。
对我来说(没有管理员权限)的解决方案是:
我可以通过删除 $(solutionDir).vs \ config \ applicationhost.config来修复错误。重启后,VS 2017重新创建了文件。
将解决方案从一个位置移动到另一个位置后,文件无效。
感谢 https://elanderson.net/2016/09/unable-to-start-process-dotnet-exe/的想法。
我通过重新安装.NET CORE SDK找到了解决方案
以我为例,当我的VS 2017具有x64时,我无意中为x86平台安装了dotnet。我为x64平台重新安装了dotnet,现在可以正常工作了。
如果使用IIS
代替IIS Express
,只需重新启动服务或:
Sites
树形视图中打开您的项目文件夹site
Manage Website
点击Restart
按钮对于谁因为使用了Visual Studio的早期版本而遇到Visual Studio 2019的问题,请删除项目根目录中的.vs文件夹并重新运行应用程序,则必须解决此问题。那对我有用。
在我的情况下,web.config中有一个设置,并且超时没有正确定义,TFS占位符在那里,而不是实际值 requestTimeout="00:06:00"
这是它的样子。希望对您有所帮助
<system.webServer>
<handlers>
<remove name="aspNetCore"/>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified"/>
</handlers>
<aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" requestTimeout="00:06:00" />
<httpRedirect enabled="false" />
</system.webServer>
就我而言,我只是改变modules="AspNetCoreModuleV2"
以 modules="AspNetCoreModule"
和工作的罚款。最终的web.config如下所示。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false" startupTimeLimit="3600" requestTimeout="23:00:00">
<environmentVariables />
</aspNetCore>
<httpProtocol>
<customHeaders>
<remove name="X-Powered-By" />
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>