Nasıl yapılır: Komut Satırını Kullanarak Derlemeler Oluşturma ve Kullanma (C# ve Visual Basic)

Bir derleme veya dinamik bağlantı kitaplığı (dll), çalışma zamanında programınıza bağlanır.Oluşturma ve bir dll dosyası kullanarak göstermek için aşağıdaki senaryoyu düşünün:

  • MathLibrary.DLL: Çalışma zamanında çağrılacak yöntemi içerir kitaplık dosyası.Bu örnekte, iki yöntem dll dosyasını içeren Add ve Multiply.

  • Add: Yöntem içerir kaynak dosya Add.Bu iletinin parametreleri toplamını verir.Sınıf AddClass yöntemi içeren Add ad alanının üyesi olduğu UtilityMethods.

  • Mult: Yöntem içerir kaynak kodu Multiply.Bu iletinin parametreleri çarpımını verir.Sınıf MultiplyClass yöntemi içeren Multiply da ad alanının bir üyesi olan UtilityMethods.

  • TestCode: İçerir dosya Main yöntemi.Bu yöntemler dll dosyasını topla ve çalışma zamanı bağımsız ürün hesaplamak için kullanır.

Örnek

' File: Add.vb  
Namespace UtilityMethods
    Public Class AddClass
        Public Shared Function Add(ByVal i As Long, ByVal j As Long) As Long 
            Return i + j
        End Function 
    End Class 
End Namespace


...


' File: Mult.vb 
Namespace UtilityMethods
    Public Class MultiplyClass
        Public Shared Function Multiply(ByVal x As Long, ByVal y As Long) As Long 
            Return x * y
        End Function 
    End Class 
End Namespace


...


' File: TestCode.vb 

Imports UtilityMethods

Module Test

    Sub Main(ByVal args As String())


        System.Console.WriteLine("Calling methods from MathLibrary.DLL:")

        If args.Length <> 2 Then
            System.Console.WriteLine("Usage: TestCode <num1> <num2>")
            Return 
        End If 

        Dim num1 As Long = Long.Parse(args(0))
        Dim num2 As Long = Long.Parse(args(1))

        Dim sum As Long = AddClass.Add(num1, num2)
        Dim product As Long = MultiplyClass.Multiply(num1, num2)

        System.Console.WriteLine("{0} + {1} = {2}", num1, num2, sum)
        System.Console.WriteLine("{0} * {1} = {2}", num1, num2, product)

    End Sub 

End Module 

' Output (assuming 1234 and 5678 are entered as command-line arguments): 
' Calling methods from MathLibrary.DLL: 
' 1234 + 5678 = 6912 
' 1234 * 5678 = 7006652        
// File: Add.cs  
namespace UtilityMethods
{
    public class AddClass 
    {
        public static long Add(long i, long j) 
        { 
            return (i + j);
        }
    }
}


...


// File: Mult.cs 
namespace UtilityMethods 
{
    public class MultiplyClass
    {
        public static long Multiply(long x, long y) 
        {
            return (x * y); 
        }
    }
}


...


// File: TestCode.cs 

using UtilityMethods;

class TestCode
{
    static void Main(string[] args) 
    {
        System.Console.WriteLine("Calling methods from MathLibrary.DLL:");

        if (args.Length != 2)
        {
            System.Console.WriteLine("Usage: TestCode <num1> <num2>");
            return;
        }

        long num1 = long.Parse(args[0]);
        long num2 = long.Parse(args[1]);

        long sum = AddClass.Add(num1, num2);
        long product = MultiplyClass.Multiply(num1, num2);

        System.Console.WriteLine("{0} + {1} = {2}", num1, num2, sum);
        System.Console.WriteLine("{0} * {1} = {2}", num1, num2, product);
    }
}
/* Output (assuming 1234 and 5678 are entered as command-line arguments):
    Calling methods from MathLibrary.DLL:
    1234 + 5678 = 6912
    1234 * 5678 = 7006652        
*/

Bu dosyayı içeren dll yöntemleri kullanan algoritma Add ve Multiply.Komut satırından girilen değişkenleri Ayrıştırmada ile başlayan num1 ve num2.Kullanarak toplamı hesaplar daha sonra Add yöntemi AddClass sınıfı ve ürün kullanarak Multiply yöntemi MultiplyClass sınıfı.

Dikkat using yönergesi (Imports Visual Basic) dosyasının başında, derleme zamanında dll yöntemleri gibi başvurulacak nitelenmemiş sınıf isimleri kullanmanıza olanak tanır:

MultiplyClass.Multiply(num1, num2)
MultiplyClass.Multiply(num1, num2);

Aksi takdirde, tam nitelendirilmiş adlar gibi kullanmak zorunda:

UtilityMethods.MultiplyClass.Multiply(num1, num2)
UtilityMethods.MultiplyClass.Multiply(num1, num2);

Yürütme

Programı çalıştırmak için aşağıdaki iki sayı ile izlenen exe dosyasının adını girin:

TestCode 1234 5678

Kod Derleniyor

Dosyayı oluşturmak için MathLibrary.DLL, iki dosya derleme Add ve Mult aşağıdaki komut satırını kullanarak.

vbc /target:library /out:MathLibrary.DLL Add.vb Mult.vb
csc /target:library /out:MathLibrary.DLL Add.cs Mult.cs

/Target:library derleyici seçeneği exe dosyası yerine bir dll dosyası çıktısını derleyiciye söyler./Out derleyici seçeneği dosya adından dll dosya adı belirtmek için kullanılır.Aksi durumda, derleyici ilk dosya kullanır (Add.cs) dll adı.

Yürütülebilir dosyasını oluşturmak için TestCode.exe, aşağıdaki komut satırını kullanın:

vbc /out:TestCode.exe /reference:MathLibrary.DLL TestCode.vb
csc /out:TestCode.exe /reference:MathLibrary.DLL TestCode.cs

/out Derleyici seçeneği çıkış exe dosyası derleyici söyler ve çıktı dosyasının adını belirtir (TestCode.exe).Bu derleyici seçeneği isteğe bağlıdır./Reference derleyici seçeneği dll dosyası ya da bu programı kullanan dosyaları belirtir.Daha fazla bilgi için bkz: /Reference için C# ve /reference (Visual Basic) Visual Basic.

Komut satırından oluşturma hakkında daha fazla bilgi için bkz: csc.exe Kullanarak Komut Satırı Derleme ve Komut Satırından Oluşturma (Visual Basic).

Ayrıca bkz.

Kavramlar

C# Programlama Kılavuzu

Derlemeler ve Genel Derleme Önbelleği (C# ve Visual Basic)

DLL İşlevleri için bir Sınıf Oluşturma

DLL Projelerinde Hata Ayıklama

Diğer Kaynaklar

Visual Basic Programlama Kılavuzu