2017-11-05 9 views
0

私は単体テストが必要なアプリケーションを作成しています。私は.NET xUnitフレームワークを使用しています。C#でxUnitでドットネットを使用できないのはなぜですか

error CS0017: Program has more than one entry point defined. Compile with /main to specify the type thatcontains the entry point. 
: まず、私が dotnet runまたは dotnet test実行すると、私はこのエラーを取得する私はユニットテスト

dotnet new xunit 

を追加した後

dotnet new console 

で新しい「ハローワールドクラス」に初期化

xUnitで定義されているMainについては、Programのエントリポイントを妨害するものがありますが、どのようにこれらを分離することができますか?つまり、dotnet rundotnet testの両方をどのように実行することができますか?

答えて

0

dotnet testdotnet runhereの両方を実行できるソリューションが見つかりました。

問題は、テストプロジェクトが独自のProgram.csファイルを作成することです。

<GenerateProgramFile>false</GenerateProgramFile> 
1

「dotnet new console」と「dotnet new xunit」の両方を同じディレクトリで実行しないでください。彼らは異なるプロジェクトであり、エントリーポイントが異なります。

+0

オハイオ州、大丈夫ですから、2つの全く異なるプロジェクトを作成する必要があります:1つはテストと1つの実行可能バージョンです。 – Jesper

+0

正確には、2つのプロジェクトを作成し、プロジェクトを別々に実行する必要があります。コンソールアプリケーションを 'dotnet run 'で、テストアプリケーションを' dotnet test'で起動します。 – manuelcaub

関連する問題