性能和诊断“无法启动服务...必须首先安装Windows服务(使用installutil.exe)...”

时间:2014-08-11 17:56:15

标签: c# windows performance service diagnostics

目前,我正在尝试使用Visual Studio 2013中新的“性能和诊断”功能来配置我正在使用的Windows服务(请参阅http://blogs.msdn.com/b/visualstudioalm/archive/2013/07/12/performance-and-diagnostics-hub-in-visual-studio-2013.aspx)。当我尝试分析服务时,我收到以下错误消息:

Cannot start service from the command line or a debugger.  A Windows Service must first be intalled (using installutil.exe) and then started with the ServerExplorer, Windows Services Administrative Tool or the NET START command.

通常在调试服务时,它工作正常,因为我在Program.cs中有以下代码:

    private static MySvc _serviceInstance;
    private static readonly List<ServiceBase> _servicesToRun =
        new List<ServiceBase>();

    static void Main(string[] args)
    {
        _servicesToRun.Add(_serviceInstance);

        if (Environment.UserInteractive)
        {
            _servicesToRun.ToArray().LoadServices();
        }
        else
        {
            ServiceBase.Run(_servicesToRun.ToArray());
        }
    }

    static Program()
    {
        _serviceInstance = new MySvc();
    } 

此外,如果我尝试附加到正在运行的应用程序,在出现的对话框中它不显示任何正在执行的进程,并且当我将服务的名称放在那里时,它找不到它。有没有人有什么建议? TIA。

更新:这是我尝试附加到流程时获得的内容。为什么“性能和诊断”没有看到我的计算机上运行的任何进程?为什么它只连接到Windows应用商店应用而不是所有前提?请看这个图片:

enter image description here

1 个答案:

答案 0 :(得分:0)

我解决问题的方法是复制所有源代码并进行微小修改以使所有内容在控制台应用程序中运行,然后选择Debug-&gt; Performance and Diagnostics并使用“Change Target”运行控制台应用程序 - &GT; “启动和可执行文件(.exe)”