dotnet build specify main method

2019-02-21 13:14发布

I am using dotnet to build a .NET Core C# project from the command line. The project has multiple classes with a main method. Thus I get the error:

$ dotnet build
Microsoft (R) Build Engine version 15.1.548.43366
Copyright (C) Microsoft Corporation. All rights reserved.

Test.cs(18,28): error CS0017: Program has more than one entry point defined. Compile with /main to specify the type that contains the entry point.

Build FAILED.

Passing the /main switch results in the error:

$ dotnet build /main:Test
Microsoft (R) Build Engine version 15.1.548.43366
Copyright (C) Microsoft Corporation. All rights reserved.

MSBUILD : error MSB1001: Unknown switch.
Switch: /main:Test

How can I pass the /main switch to the dotnet command?

1条回答
女痞
2楼-- · 2019-02-21 14:01

You can edit your csproj to define which class to use (inside a PropertyGroup):

<StartupObject>foo.Program2</StartupObject>

or specify this MSBuild property on the command line via:

$ dotnet build foo.csproj /p:StartupObject=foo.Program2
查看更多
登录 后发表回答