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
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