通常、このようにするのは理にかなっていません。C#コンソールアプリもクラスライブラリとして機能する可能性がありますか?
つまり、C#のコンソールアプリケーションもクラスライブラリとして機能する可能性がありますか?
通常、このようにするのは理にかなっていません。C#コンソールアプリもクラスライブラリとして機能する可能性がありますか?
つまり、C#のコンソールアプリケーションもクラスライブラリとして機能する可能性がありますか?
はい、可能です。パブリックタイプまたは[assembly:InternalsVisibleTo(...)]
がある限り。
VS2005では、IDEはEXEを参照することを嫌っていましたが、これはもはやケースではありません。参照を追加し、exe(またはプロジェクト)を指定するだけです。
最終的には単なるアセンブリです。 PEヘッダー/ローダーは最小限に抑えられており、ファイルに重要な注意を払わないため、exeファイルであるという事実は事実上無関係です。
exeをライブラリとして使用すると、Main()
(エントリポイント)は呼び出されません。
私はこれが事実であるべきだと思った。一度噛んだら。 ty。 + 1.All()。 – sgtz
これは別のプロジェクトで参照するだけです。
はいコンソールアプリケーションを参照し、その中のパブリッククラスを使用することは可能です。しかし、技術的には機能的ではあるが、ベストプラクティスとはみなされない。
よりよい解決策は、次のことを持っているだろう:
:
短い答え:はい。唯一の違いは、コンソールアプリケーションにエントリポイント(Mainメソッド)があり、別々に実行できることです。
これまでに何を試しましたか?別のプロジェクトをWindowsアプリケーションまたはWebアプリケーションとして作成し、コンソールアプリケーションを参照して、公開クラスを使用して、期待どおりに動作するかどうかを確認してください;-) –
@Davide Piras:VSの古いバージョンで試しました。私はまだMSツールが今のところ能力を発揮しているのに慣れています。私は最初に尋ねると思った。 – sgtz