首页 > 解决方案 > 为什么 Visual Studio 生成后事件会阻止应用程序运行(调试)?

问题描述

我有一个项目,其中有构建后事件

  1. 将项目的 .dll 复制到另一个目录
  2. 执行一个 .exe,为刚刚构建的项目自动生成一些模型

以下是构建事件的命令:

copy "$(TargetPath)" "$(SolutionDir)CSharpToTypescript\$(OutDir)$(TargetFileName)"

"$(SolutionDir)CSharpToTypescript\$(OutDir)CSharpToTypescript.exe" "$(ProjectPath)"

在运行(调试)应用程序时,构建事件成功触发并且项目的构建完成且没有错误。但是,应用程序不会运行,并且在“调试输出”窗口中有以下输出:

目标进程退出而没有引发 CoreCLR 启动事件。确保目标进程配置为使用 .NET Core。如果目标进程未在 .NET Core 上运行,则可能会出现这种情况。程序“[11480] VIP_Test.exe”已退出,代码为 -2147450726 (0x8000809a)。

编辑 - 当允许控制台窗口保持打开状态时,我还可以看到以下信息:

要执行的应用程序不存在:'***\Projects\VIP_Test\VIP_Test\bin\Debug\netcoreapp3.1\VIP_Test.dll'。

从构建事件中删除第二个命令会导致应用程序按预期运行。为了让我的应用程序正确运行,我需要调用 .exe 的特定方式吗?

这两个项目(我正在尝试运行的项目,以及生成从构建事件调用的 .exe 的项目)都是 .NET Core 3.1。CSharpToTypescript 项目是一个控制台应用程序,而触发构建事件的是一个 .Net Core 3.1 + React 应用程序。

标签: visual-studio.net-corepost-build-event

解决方案


推荐阅读