ASP.NET核心,非框架
我不久前创建了一个Web API项目,作为我们使用的一些项目的本地开发主机。这一直很好。我不知道我是否在工作和不工作之间安装了VS 2017更新。现在,当我启动它时,它会启动Web浏览器,然后立即终止Web应用程序(请参阅输出)。
我决定尝试通过创建一个新项目重建我的项目,令我惊讶的是我也在这里遇到问题。我已经包含了我可以在我的机器上产生问题的输出和步骤。
输出:
code:-32000
message:No script for id: 35
'dotnet.exe' (CoreCLR: DefaultDomain): Loaded 'C:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App\1.1.2\System.Private.CoreLib.ni.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
The program '[18760] dotnet.exe: Program Trace' has exited with code 0 (0x0).
The program '[18760] dotnet.exe' has exited with code -532462766 (0xe0434352).
The program '[7360] iisexpress.exe: Program Trace' has exited with code 0 (0x0).
The program '[18824] chrome.exe: WebKit' has exited with code -1 (0xffffffff).
The program '[7360] iisexpress.exe' has exited with code 0 (0x0).
重现的步骤:
1) Select File | New Project
2) Select Templates > Visual C# > .NET Core > ASP.NET Core Web Application (.NET Core)
3) Click OK
4) Select Web API
5) Verify that "Enable Docker Support" is unchecked and "Authentication" is "No Authentication"
5) Click OK
6) Select Debug | Start Debugging
7) Wait ~20 seconds for the project co crash
我试过在" Main"的开口花括号上放一个断点。方法,但这永远不会被击中。
使用dotnet运行的控制台输出:
C:\Projects\WebApplication1>dotnet run
The current project is not valid because of the following errors:
C:\Projects\WebApplication1(1,0): error DOTNET1017: Project file does not exist 'C:\Projects\WebApplication1\project.json'.
C:\Projects\WebApplication1>
我不确定为什么预期project.json,因为这些都是为了支持.csproj文件。查看应用程序属性,我可以看到目标框架是.NETCoreApp1.1。为了解决这个问题,我已经安装了.NET Core运行时(x86和x64)版本1.0.5和1.1.2,但我想只需要1.1.2版本。
我也运行了dotnet --info,我得到以下输出:
C:\Users\john\Documents\Visual Studio 2017\Projects\WebApplication1>dotnet --info
.NET Command Line Tools (1.0.0-preview2-003121)
Product Information:
Version: 1.0.0-preview2-003121
Commit SHA-1 hash: 1e9d529bc5
Runtime Environment:
OS Name: Windows
OS Version: 10.0.14393
OS Platform: Windows
RID: win10-x86
已安装的SDK版本(根据程序和功能):
.NET Core SDK 1.0.0 (x64) Installer (x64)
.NET Core SDK 1.0.1 (x64)
.NET Core SDK 1.0.3 (x64)
.NET Core SDK 1.0.4 (x64)
Microsoft .NET Core 1.0.0 - SDK Preview 2 (x86)
Microsoft .NET Core 1.0.0 - SDK Preview 2 (x64)
Microsoft .NET Core 1.0.1 - SDK Preview 1.0.0 Preview 2-003131 (x64)
Microsoft .NET Core 1.0.1 - VS 2015 Tooling Preview 2-003131
Microsoft .NET Core 1.0.5 - Runtime (x64)
Microsoft .NET Core 1.0.5 - Runtime (x86)
Microsoft .NET Core 1.1.2 - Runtime (x64)
Microsoft .NET Core 1.1.2 - Runtime (x86)
其他信息:
如何让它再次发挥作用?
答案 0 :(得分:2)
32位(x86)dotnet.exe
主机很可能在64位之前位于PATH上。由于只有32位SDK存在于preview2版本,因此您收到有关缺少project.json
文件的错误。
当您重新运行安装程序时,这可能修复了路径问题(可能只是偶然)。
您可以检查系统的PATH环境变量,以查看C:\Program Files\dotnet
之前是否列出了C:\Program Files (x86)\dotnet
文件夹。 VS 2017预览(~RC3时间)习惯将32位一个放在64位之前的路径上,这导致了很多问题。
答案 1 :(得分:1)
在编译已安装的框架版本列表之后,我觉得它可能有点混乱,并且考虑到dotnet --info
的输出,我不禁想知道是否可能没有某种版本选择问题
我卸载了程序和功能中列出的所有SDK版本,并简单地re-downloaded用于.NET Core SDK的Windows(x64)安装程序。
这似乎已经解决了这个问题,虽然我不确定是什么样的更新发生了触发它从“无问题工作”变为“甚至不会达到主要方法”。不幸的是,这似乎与微软的课程越来越相同。
答案 2 :(得分:0)
我认为您需要在本地启用IIS才能使IIS Express正常运行。
如果已启用IIS,您可能需要通过以下链接进行解决。
控制面板>节目和特征>
Turn Windows Features on or off.
点击Internet Information Services.
不要担心子节点。单击确定。
重启你的电脑。
答案 3 :(得分:0)