gpt4 book ai didi

c# - 在 Visual Studio 停止时使用react

转载 作者:太空狗 更新时间:2023-10-29 23:44:15 25 4
gpt4 key购买 nike

从 Visual Studio 运行代码时,是否有可能在代码停止时运行某些代码?

我正在使用 CefGlue 库构建 WinForms 应用程序,并意识到在按下停止按钮时会出现问题,范围从异常到两个没有打开内容的窗口。一个单独的进程继续在后台运行。为了很好地停止 Cef,我需要执行 CefRuntime.Shutdown(); 也许这是因为它没有在 Visual Studio 托管进程中运行应用程序,因为 CefGlue 对此有问题(请参阅 this ) .这不会影响生产,但在开发和测试时会很讨厌,但是我还是想执行一些代码来解决这个问题。

我猜这是不可能的,但如果是的话,那将很有趣。

所以我正在寻找一种方法,当 Visual Studio 在开发过程中按下停止按钮时停止应用程序时执行一些代码。

注意:我使用的是 Visual Studio 2013 和 2015。

编辑使用很少的代码行无法重现该问题。尽管如此,我还是尝试创建一个简化的示例 here

最佳答案

您主要寻找的是使用 Visual Studio SDK 的解决方案。

您可以通过实现 IDTExtensibility interface 构建自己的加载项.

OnConnection 函数中,您可以订阅不同的事件。使用 (DTE2)application 您可以访问 a lot of things来自VS。

您必须订阅一些可以从 Events property 获得的事件.

您必须自己找出最适合您的解决方案的事件。但是 DebuggerEvents似乎是一个不错的起点。

这确实需要一些研究才能使用。可能会有更简单的解决方案。

OnConnection 的一个简单示例:

public void OnConnection(object application, ext_ConnectMode connectMode, object addInInst, ref Array custom)
{
var applicationObject = (DTE2)application;

var events = _applicationObject.Events;
var buildEvents = (BuildEvents)events.BuildEvents;
buildEvents.OnBuildBegin += new _dispBuildEvents_OnBuildBeginEventHandler(OnBuildBegin);
}

这会在构建开始时触发。可用的文档不是很好,因此在找到所需内容之前需要反复试验。

关于c# - 在 Visual Studio 停止时使用react,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35034126/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com