相关疑难解决方法(0)

故障排除"程序不包含静态'主'方法",当它显然...?

我的MS Visual C#程序正在编译并运行得很好.我关闭了MS Visual C#,以便在生活中做其他事情.

我重新打开它(在做任何其他事情之前)去"发布"我的程序并得到以下错误消息:

程序C:\ myprogram.exe不包含适用于入口点的静态"Main"方法

咦?是的它确实......而且它们都提前15分钟工作了.当然,我可以相信,在我关闭之前,我不小心碰到了什么或做了什么......但是什么?我该如何解决这个问题?

我的Program.cs文件如下所示:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using System.Threading;

namespace SimpleAIMLEditor
{
    static class Program
    {
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            Application.Run(new mainSAEForm());
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

......那里有一些评论.没有其他错误.

救命?

c# compilation

48
推荐指数
7
解决办法
12万
查看次数

使用 docker 构建时出现“程序不包含适合入口点的静态‘Main’方法”,为什么?

我在使用 docker 时遇到了问题,但找不到合适的解决方案。

我正在尝试使用 dotnet sdk 2.1 构建 docker 映像。

问题是当 docker 尝试运行 build 语句时,它失败了,错误输出是

CSC:错误 CS5001:程序不包含适合入口点的静态“Main”方法

有趣的是,如果我在本地命令行上执行构建语句,它工作正常。

我已经在项目上检查了我的 LanguageVersion 标签,它是 7.3。

这是我的 docker 文件

FROM microsoft/dotnet:2.1-sdk AS builder  
WORKDIR /src
COPY ./nuget  ./nuget
COPY ./NuGet.Config ./
COPY Services/AadTracking ./

# Copy all the referenced projects

COPY ./Services/AadTracking/Company/Company.Service.AadTracking/Company.Service.AadTracking.csproj ./AadTracking/Company/Company.Service.AadTracking/Company.Service.AadTracking.csproj
COPY ./Services/AadTracking/Office.Re.Service.AadTracking/Office.Re.Service.AadTracking.csproj ./AadTracking/Office.Re.Service.AadTracking/Office.Re.Service.AadTracking.csproj
COPY ./Services/AadTracking/Company/Office.Re.Service.AadTracking.Company/Office.Re.Service.AadTracking.Company.csproj ./AadTracking/Company/Office.Re.Service.AadTracking.Company/Office.Re.Service.AadTracking.Company.csproj
COPY ./Services/AadTracking/Office.Re.Service.AadTracking.EventStore/Office.Re.Service.AadTracking.EventStore.csproj ./AadTracking/Office.Re.Service.AadTracking.EventStore/Office.Re.Service.AadTracking.EventStore.csproj

# Restore packages
RUN dotnet restore "./AadTracking/Company/Company.Service.AadTracking/Company.Service.AadTracking.csproj"

RUN dotnet build -c Debug --no-restore "./AadTracking/Company/Company.Service.AadTracking/Company.Service.AadTracking.csproj"

# COPY source code 
#aad tracking
COPY ./Services/AadTracking/Company/Company.Service.AadTracking …
Run Code Online (Sandbox Code Playgroud)

c# docker .net-core

19
推荐指数
5
解决办法
1万
查看次数

Visual Studio代码:程序有多个入口点定义?

在将其标记为副本之前,请先阅读说明.

使用visual studio代码创建了C#项目.这个项目包含两个.cs文件Addition.cs和Substraction.cs这两个文件都包含main()函数,这两个文件包含两个不同的程序.

Addition.cs文件中的代码

using System;

namespace Example
{
    class Addition
    {
        static void Main(string[] args)
        {
            int sum = 3 + 2;
            Console.WriteLine(sum);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Substraction.cs文件中的代码

using System;

namespace Example
{
    class Substraction
    {
        static void Main(string[] args)
        {
            int sub = 3 - 2;
            Console.WriteLine(sub);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我想逐个测试这个程序,但是当我这样做的时候

"dotnet run"

它失败并出现上述错误.

我知道因为同一项目中的两个main()函数(入口点)创建了这个错误,但是这可以通过设置启动项目在visual studio中克服.

我正在使用Visual Studio代码,我无法设置启动项目.有没有办法在visual studio代码中设置c#项目的入口点?

c# csproj visual-studio visual-studio-code

4
推荐指数
1
解决办法
3769
查看次数