dotnet-run 命令未按预期工作

Pri*_*kar 5 c# asp.net-mvc asp.net-core-mvc visual-studio-code asp.net-core

我想在 VS code 中运行 .NET Core 项目的简单演示。dotnet build当我在 VS Code 终端中运行时,它按预期工作。但问题是,在同一个项目中,当我运行dotnet run时,出现以下错误:

找不到要运行的项目。确保 C:\Users\hp\Desktop\HW-3\FirstTestApp 中存在项目,或使用 --project 将路径传递到项目。

这个错误对我来说完全出乎意料,因为这个项目应该正常工作,但事实并非如此。其实我对VS Code不太熟悉。

cmd.exe dotnet 运行失败

简单化dotnet builddotnet run创建此输出

PS C:\FirstTestApp>dotnet build
Microsoft (R) Build Engine version 15.9.20+g88f5fadfbe for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.

   Restore completed in ... for \FirstTestApp\FirstTestApp\FirstTestApp.csproj
   FirstTestApp -> C:\ ...\FirstTestApp.dll
   FirstTestApp -> C:\ ...\FirstTestApp.Views.dll

Build succeeded.
    0 Warning(s)
    0 Error(s)

PS C:\FirstTestApp>dotnet build
Couldn't find a project to run. Ensure a project exists in C:\FirstTestApp, or pass the 
path to the project using --project. 
Run Code Online (Sandbox Code Playgroud)

这是我的演示项目结构:

在此输入图像描述

RB.*_*RB. 10

dotnet build将使用解决方案文件(如果存在*.sln)进行构建。

dotnet run但是需要一个项目文件 ( *.csproj)。

简单的修复方法就是更改为项目目录,然后dotnet run再次运行。

cd C:\Users\hp\Desktop\HW-3\FirstTestApp\FirstTestApp
dotnet run
Run Code Online (Sandbox Code Playgroud)

dotnet builddotnet run的文档清楚地说明了这一点 - 该dotnet build [<PROJECT>|<SOLUTION>]命令显然可以接受项目或解决方案文件,而dotnet run [--project <PATH>]只能接受项目文件。

如果您对 C# 完全陌生,那么我将简单地解释一下 .csproj 项目文件是告诉构建工具链如何构建项目的文件 - 它与 makefile、ant 文件、pom.xml 文件执行相同的工作,或任何其他构建系统的主文件。

解决方案文件基本上只是将多个项目链接到一个解决方案中,这样在编辑器(VS 或 VS Code)中打开解决方案文件也会导致项目被加载。