4

大きくなっている ac# コンソール プロジェクト (vs2012) があります。現在、複数の「メソッド」を次々と呼び出しています。メソッドを追加するにつれて、それらを複数の実行可能ファイルに分割し、スケジュールされたアプリとして実行できるようにしたいと考えていますが、それらすべてが適用されるルールのパブリック クラスを参照 (および tortoise SVN を使用して変更) できるようにしたいと考えています。参照。これを達成するためにdllを作成する必要がありますか、それとももっと簡単な方法がありますか? 申し訳ありませんが、私はこれらすべてに慣れていません。似たような質問を見つけましたが、理解できなかったか、探していたものではありませんでした。ありがとう!

4

2 に答える 2

8

はい、DLL をビルドし、そこにコードを格納する必要があるプロジェクトから参照する必要があります。
新しいライブラリ プロジェクトをソリューションに追加し、パブリック クラスを作成して、他のプロジェクトから呼び出されるメソッドを挿入するだけです。

[メニュー ファイル] をクリックし、[プロジェクトの追加] を選択します ここに画像の説明を入力

次に、ソリューション エクスプローラー ウィンドウに移動し、コンソール アプリケーションをクリックして、参照を右クリックします。
ここに画像の説明を入力

ソリューションフォルダーからクラスライブラリのプロジェクトを選択します ここに画像の説明を入力

定義済みの Class1 に移動し、次のコードを追加します。

namespace ConsoleApplication1
{
    // Class that contains methods and data to be used/shared by various applications
    public class Class1
    {
        public Class1()
        { }

        public void Show(string message)
        {
            Console.WriteLine(message);
        }
    }
}

ConsoleApplication1 に次のコードを追加します

namespace ConsoleApplication1
{
    class Program
    {
        // A sample console application that uses the library project....
        static void Main(string[] args)
        {
            Class1 c=new Class1();
            c.Show("Hello World");
        }
    }
}
于 2013-04-08T23:08:55.867 に答える
1

これを達成するためにdllを作成する必要がありますか、それとももっと簡単な方法がありますか?

共有ロジックとモジュール性を実現したい場合、答えはノーです。簡単な方法ではありません。VS でクラス ライブラリ プロジェクト テンプレートを使用してアセンブリ (DLL) を作成し、クラスを記述してpublicビルドし、EXE のプロジェクトから参照する必要があります。

Executables と Class Library プロジェクトを一緒に使用するソリューションを用意することをお勧めします。これにより、 AssemblyではなくProjectでクラス ライブラリを参照することで、保守性とクラス ライブラリとの良好な同期を楽しむことができます。

于 2013-04-08T23:19:30.047 に答える