如何获取 Visual Studio 使用的 dotnet run 命令

问题描述 投票:0回答:1

我有一个 ASP.NET Core 应用程序,当我在 Visual Studio 中按下播放按钮时,一切都运行良好,但是当我尝试使用

dotnet run
从控制台运行它时,它失败并出现错误。我怎样才能得到 visual studio 用来运行项目的确切
dotnet run
命令?

错误:

C:\MySolution\ConstantsProject\Sensor.cs (94, 31): error CS0103: The name 'EnumCommon' does not exist in the current context [c:\MySolution\ConstantsProject\Constants.csproj'.

EnumCommon 是一个枚举,存在于由 Constants.csproj 引用的 dll 中。事实上,dotnet build 甚至不会构建解决方案,但 VS2022 会构建它。

dotnet build
失败并出现同样的错误

c# visual-studio asp.net-core
1个回答
0
投票

简而言之,您无法获得 Visual Studio 用于在“播放按钮”(也称为调试会话,热键

dotnet run
)上执行项目的基于
F5
的命令,因为 VS 不运行
dotnet run
.

相反,VS 将直接运行可执行文件并附加调试器。由于动态加载/运行时计时,调试器在运行时不一定具有 VS 在构建时具有的所有相同引用,因此会出现错误)。

当您使用枚举的完全指定类型名称时,您将强制调试器加载依赖程序集(如果尚未加载)。

所有这一切都需要挥手,但关键是运行时调试环境!=构建时环境。您可以通过在数据集中使用枚举之前访问它们来确保枚举可用,但这有点人为。

© www.soinside.com 2019 - 2024. All rights reserved.