2017-04-12 27 views
7

我使用dotnet从命令行构建.NET Core C#项目。该项目有一个main方法的多个类。因此,我得到的错误:dotnet构建指定主要方法

$ 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. 

薪火/main开关导致错误:

$ 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 

我怎样才能通过/main切换到dotnet命令?

回答

13

您可以编辑的csproj确定要使用的类(一PropertyGroup内):

<StartupObject>foo.Program2</StartupObject> 

或通过在命令行上指定此MSBuild的属性:

$ dotnet build foo.csproj /p:StartupObject=foo.Program2 
+0

贸易的尼斯把戏! – granadaCoder

+0

我花了一个小时尝试几件事,直到找到答案。非常感谢您花时间记录这些! – koopajah