28

rc1 ツールをインストールし、新しい Web プロジェクトを作成して、テンプレートの変更点を確認しました。

project.json に次のものが含まれていることに気付きました。

"compilationOptions": {
    "emitEntryPoint": true
}

しかし、これが何をするのかは不明です。

誰にもアイデアはありますか?

4

2 に答える 2

26

以下で説明するように: プロジェクトがコンソール アプリケーションとライブラリであることを示すコンパイラへのフラグのようです (つまり、コンソール アプリケーションには が含まれている必要がありますpublic static void Main()) 。

ソースはこちらからご覧いただけます。

Startup.cs新しい RC1 の既定の Web アプリケーション テンプレートでは、エントリ ポイントとして機能する新しい式本体のメソッドが下部にあることに気付くでしょう。

public static void Main(string[] args) => WebApplication.Run<Startup>(args);

このメソッドを削除してビルド ( dnu build) を実行すると、エラーが発生します。

error CS5001: Program does not contain a static 'Main' method suitable for an entry point

ただし、emitEntryPointフラグを に変更しfalseて再度ビルドを試みると、成功します。これは、コンソール アプリではなくライブラリを作成しているためです。

于 2015-11-25T06:07:36.500 に答える