C# 生成失败,因为存在主函数

C# 生成失败,因为存在主函数,c#,main,C#,Main,我目前正在开发一项服务,但它无法构建解决方案。我有以下主要功能的代码: [STAThread] static void Main(string[] args) { ServiceBase.Run(new Service1()); } 当我对整个事件进行评论时,构建成功了。我还注释了StatThread和serviceBase。。。单独运行,但仍然失败,因此问题在于静态void Main。但是我需要它来运行我的服务,所以我不能忽略它 输出类型现在设置为Windows应用程序。当我将其更改

我目前正在开发一项服务,但它无法构建解决方案。我有以下主要功能的代码:

[STAThread]
static void Main(string[] args)
{
    ServiceBase.Run(new Service1());
}
当我对整个事件进行评论时,构建成功了。我还注释了StatThread和serviceBase。。。单独运行,但仍然失败,因此问题在于
静态void Main
。但是我需要它来运行我的服务,所以我不能忽略它

输出类型现在设置为Windows应用程序。当我将其更改为类库时,构建成功,但这会创建.dll文件,并且我的应用程序需要是.exe文件

为什么会失败

这是生成的输出:

1>------ Build started: Project: Myst Service, Configuration: Debug Any CPU ------
1>C:\Users\Username\Documents\Visual Studio 2015\Projects\Myst Service\Myst Service\Service1.cs(23,21,23,25): error CS0017: Program has more than one entry point defined. Compile with /main to specify the type that contains the entry point.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

我在整个解决方案中搜索Main,似乎Program.cs中也有一个静态void Main。这是常见的吗?

在错误输出日志中,它指出

错误CS0017:程序定义了多个入口点。使用/main编译以指定包含入口点的类型

这意味着程序中有多个
Main
。要么去掉第二个,要么进入项目属性并在
启动对象
区域下设置所需的入口点


注意:对于Windows服务,您需要输出类型为
控制台应用程序

当生成失败时,您会收到一条错误消息,您需要将错误消息作为编辑包含在问题中。@ScottChamberlain哪里可以找到错误消息?我没有弹出窗口,在左下角*显示build failed(构建失败),这就是我知道它失败的原因…转到菜单栏中的
查看
,您应该会看到一个
错误列表
选项,您可以打开一个窗口@ScottChamberlain这里没有错误,正如我在评论这段代码时所说的,它确实有效,而且代码中没有错误,正如你所看到的,是的。。。我将尝试把它放在一个新的项目中,这个项目也很新,但我们会看到你应该将它构建为一个控制台应用程序。这就是主要的切入点。好的,谢谢你!安装该服务也起到了作用,但当我想启动该服务时出现了一个错误,这与这个问题无关