错误“找不到为主要方法指定的 xxxx.Program”从 MS 示例创建 Windows 服务
Posted
技术标签:
【中文标题】错误“找不到为主要方法指定的 xxxx.Program”从 MS 示例创建 Windows 服务【英文标题】:Error "Could not find xxxx.Program specified for main method" creating Windows Service from MS example 【发布时间】:2014-08-28 18:36:16 【问题描述】:我关注this Microsoft guide to create a windows service。
但是,当我尝试在名为“Program.cs”的自动生成页面上构建它时 里面有这段代码
namespace BetfairBOTV2Service
static class Program
/// <summary>
/// The main entry point for the application.
/// </summary>
static void Main()
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
new BrainiacVersion2() // not green though!!!!!
;
ServiceBase.Run(ServicesToRun);
我收到为 Main Method 指定的错误“找不到 BrainiacV2.Program”
我做了教程告诉我的所有事情。
我有一个 App.Config、一个 Program.cs(上面的代码)、一个 BrainiacV2.cs,它保存了我的所有服务代码并像这样开始
namespace BetfairBOTV2Service
public partial class BrainiacV2 : ServiceBase
public BrainiacV2()
InitializeComponent();
我的 ProjectInstaller.cs 上有两个安装程序对象 (名称) serviceInstaller 显示名称:我的新 BetfairBotV2 服务名称:BrainiacVersion2
就是这样。
这是我得到的唯一错误
解决方案称为 BrainiacV2
我已尝试将 Program.cs 中的代码更改为
新的 BrainiacV2()
它变成绿色,但我只是得到
找不到为 main 方法指定的 BrainiacV2.Program。
我做错了什么或需要改变?
任何帮助将不胜感激 - 谢谢!
Win 7、64 位、.NET 4.5、C#
【问题讨论】:
【参考方案1】:重命名项目和默认命名空间后。我也不得不改变这个:
因此,在您创建项目时,默认 Main 位于 BrainiacV2.Program,但您确实希望在 BetfairBOTV2Service.Program 中运行 Main
【讨论】:
很高兴你发布了这个!【参考方案2】:我不得不改变我的命名空间和类。这与那个错误无关(不是很有帮助!)
namespace BrainiacV2
static class Program
/// <summary>
/// The main entry point for the application.
/// </summary>
static void Main()
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
new Brainiac()
;
ServiceBase.Run(ServicesToRun);
一旦我这样做了,一切都奏效了!
似乎是命名空间问题。
如果错误消息能更有帮助就更好了,因为这涉及到很多猜测工作!
感谢您的帮助。
【讨论】:
【参考方案3】:您似乎指定了错误的类名。请参阅下面的 cmets。
namespace BetfairBOTV2Service
static class Program
/// <summary>
/// The main entry point for the application.
/// </summary>
static void Main()
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
new BrainiacVersion2(); // <-- this is what you have
new BrainiacV2(); // <-- this is what you need
;
ServiceBase.Run(ServicesToRun);
FWIW,我有几个教程 - here 和 here - 向您展示如何创建服务并自行安装。
HTH
【讨论】:
如果您在第一个代码 sn-p 中注意到我的 cmets,我尝试了您的建议并且它变为绿色(代码)但我收到相同的错误“找不到指定的“BrainiacV2.Program”主方法以上是关于错误“找不到为主要方法指定的 xxxx.Program”从 MS 示例创建 Windows 服务的主要内容,如果未能解决你的问题,请参考以下文章