2017-04-12 8 views
7

dotnetを使用して、コマンドラインから.NETコアC#プロジェクトをビルドしています。プロジェクトにはmainメソッドを持つ複数のクラスがあります。したがって、私はエラーを取得する:dotnet build指定のメインメソッド

$ 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 

がどのように私はdotnetコマンドに/mainスイッチを渡すことができます。

$ 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スイッチ結果を渡しますか?

答えて

13

あなたは(PropertyGroup内)を使用するクラスを定義するために、あなたのcsprojを編集することができます。

<StartupObject>foo.Program2</StartupObject> 

またはコマンドラインでこのMSBuildのプロパティを指定経由:

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

貿易のニーストリック! – granadaCoder

+0

私はあなたの答えを見つけるまで、過去1時間をいくつか試しました。これを記録する時間をとってくれてありがとう! – koopajah

関連する問題