コンソールアプリケーションプロジェクトではないプロジェクトから、Main()メソッドを含むC#クラスを手動で実行できますか?

アンドレアノビリ

私は.NET \ C#(Javaから来ました)はかなり新しく、次の疑問があります。

私のソリューションには、SharePointジョブであるはずのプロジェクトがあります。これは、ソリューションエクスプローラーで次のようになります。

ここに画像の説明を入力してください

このプロジェクトはSharePointジョブとして展開されており、正常に機能することを知っています。

今、私はこの仕事に何らかの形で関連している特定の操作を手動で実行する必要があります。したがって、私のアイデアは、このMigrateAttachmentsクラスをこのプロジェクトに作成し、ここにMain()メソッドを配置してから、このクラスのみをスクリプトとして実行することでした。

namespace XXXMigrationJob
{
    class MigrateAttachments
    {
        static void Main(string[] args)
        {

            Debug.Print("MigrateAttachments Main() START");

            Debug.Print("MigrateAttachments Main() END");
        }
    }
}

しかし、このMain()メソッドをスタンドアロンメソッドとして実行することはできず、それを実行する唯一の方法は、このクラスを含む新しいコンソールアプリケーションプロジェクトを作成することであるように思われます

それは本当ですか、それとも何かが足りないので、このMigrateAttachements Main()メソッドをXXXMigrationJobプロジェクトでも手動で実行できますか?

CodeMonkey

いいえ、それを実行することはできません。exeファイルではなくDLLに含まれます。どういうわけかそれをブートストラップする必要があります。

再利用可能なコードをクラスライブラリにリファクタリングします。次に、前述のようにコンソールアプリを作成します。再利用可能なクラスライブラリを参照して呼び出します。

ただし、コンソールアプリを作成したくない場合は、NineBerryが配置したリンクで、PowerShellとReflectionを使用した.netコードの呼び出しについて説明しています。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ