调试->在Visual Studio中启动外部程序的用途是什么

时间:2018-10-29 14:33:46

标签: c# debugging visual-studio-debugging

我在Visual Studio 2017中创建了两个解决方案:

  • 第一个使用控制台应用程序Example1
  • 第二个带有类库ClassLibrary1

ClassLibrary1仅包含一个文件MyLib.cs

namespace ClassLibrary1
{
    public class MyLib
    {
        public string Foo()
        {
            return "Bla";
        }
    }
}

在第一个解决方案(带有Example1控制台应用程序的解决方案)中,我添加了现有项目-> ClassLibrary1

我将ClassLibrary1配置为一个启动项目,并设置Debug->如图所示启动外部程序:

enter image description here

因此,现在您只需启动项目(在我的案例中为ClassLibrary1),然后调试工作(我在返回的“ Bla”中设置了断点;)。发生的是Example1.exe调用ClassLibrary.MyLib文件。

我是否正确理解了Debug -> Start external program的用法,或者还有其他用法?

2 个答案:

答案 0 :(得分:2)

如果在外部启动代码时通常使用它。就像,如果您正在开发DLL,并且项目外部的其他进程将启动它。

例如,您可能正在为ThingyPlugin开发插件Thingy.exe。然后,您可以在此处指定Thingy.exe作为加载插件的方式。

如果您没有外部过程,则最好使用Start Project

答案 1 :(得分:2)

  

我是否了解Debug->正确启动外部程序的用法,或者还有其他用法?

不。通常,您将使用启动项目,除非您有一个外部程序需要启动才能调试项目。

在很多情况下,我自己都使用了此功能,主要是在为其他软件开发外接程序时,例如实际上是Autodesk Revit插件的类库,不受支持的Microsoft Office版本等。