Błąd „nie można znaleźć xxxx.Program określony dla metody głównej” utwórz usługę systemu Windows na podstawie przykładu MS


Postępuję zgodnie z tym samouczkiem, aby utworzyć usługę systemu Windows & >

http://msdn.microsoft.com/en-us/ library/zt39148a(v=vs.110).aspx
http://msdn.microsoft.com/en-us/library/zt39148a(v=vs.110).aspx
Jednak gdy próbuję zbudować go na automatycznie wygenerowanej stronie o nazwie „Program.cs”
Ma ten kod
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);
}
}
}

Otrzymuję ten błąd „nie można znaleźć programu BrainiacV2.Program” określony dla metody głównej
Zrobiłem wszystko, co powiedział samouczek.
Mam App.Config, Program.cs (kod powyżej), BrainiacV2.cs, który zawiera cały mój kod usługi i zaczyna się w ten sposób
namespace BetfairBOTV2Service
{
public partial class BrainiacV2 : ServiceBase
{
public BrainiacV2()
{
InitializeComponent();

My ProjectInstaller.cs z dwoma obiektami instalatora
(nazwa) serviceInstaller
Wyświetlana nazwa: Mój nowy BetfairBotV2
ServiceName: BrainiacVersion2
I to wszystko.
To jedyny błąd, jaki otrzymuję
Rozwiązanie nazywa się BrainiacV2
Próbowałem zmienić kod w Program.cs na
nowy BrainiacV2 ()
co sprawia, że ​​jest zielony, ale po prostu dostaję
Nie można znaleźć programu BrainiacV2.Program określony dla metody głównej.
Co robię źle lub co muszę zmienić?
Każda pomoc byłaby bardzo mile widziana - dzięki!
Win 7, 64-bitowy, .NET 4.5, C #
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Po zmianie nazwy projektu i domyślnej przestrzeni nazw. Musiałem też to zmienić:
Więc w twoim przypadku, kiedy tworzysz projekt, main był domyślnie zlokalizowany w BrainiacV2.Program, ale chcesz uruchomić Main w BetfairBOTV2Service.Program
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Musiałem zmienić moje przestrzenie nazw i klasy. Nie miało to nic wspólnego z tym błędem (niezbyt przydatne!)
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);
}
}
}

Kiedy to zrobiłem, zadziałało!
Wygląda na to, że jest to problem z przestrzenią nazw.
Byłoby miło, gdyby komunikat o błędzie był trochę bardziej pomocny, ponieważ wymagało to wielu domysłów!
Dziękuję za pomoc.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Wygląda na to, że podałeś złą nazwę klasy. Zobacz komentarze poniżej.
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, mam kilka tutoriali -

tutaj
https://coderoad.ru/593454/
i

tutaj
https://coderoad.ru/1195478/
- które pokazują, jak stworzyć usługę i zainstalować ją samodzielnie.
HTH

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się