• 04-11-2024, 09:41:22
    #1
    Merhabalar,

    Bir konuda yardım gerekiyor. Özet geçmek gerekirse, C++ bir dll de, dotnet runtime host edip C# kodu çalıştırmak istiyorum. Microsoft 'un kendi dokümantasyonları var, ama ben C++ bilmediğim için AI yardımıyla yapmaya çalıştım ama beceremedim.

    Aşağıdaki dokümantasyonda anlatıyor. Hatta GitHub da örnek kodlar bile var.
    https://learn.microsoft.com/en-us/do...etcore-hosting
    https://github.com/dotnet/samples/tr...n/core/hosting

    Bu da başka birinin bu dokümantasyonu kullanarak yaptığı bir şey;
    https://github.com/StackOverflowExce...-core-injector (bootstrapper)

    İletişim bilgilerinizi bırakırsanız sevinirim.
  • 04-11-2024, 14:21:32
    #2
    Üyeliği durduruldu
    C++ ile yazılmış ve dinamik kütüphane olarak (dll) derlenmiş dosyalarını c# çalıştırmak mümkün (native) size bu konuda baştan sona bir eğitim verebilirim
  • 04-11-2024, 14:24:42
    #3
    pckos adlı üyeden alıntı: mesajı görüntüle
    C++ ile yazılmış ve dinamik kütüphane olarak (dll) derlenmiş dosyalarını c# çalıştırmak mümkün (native) size bu konuda baştan sona bir eğitim verebilirim
    İstediğim şey bunun tam tersi. C# ile yazılan bir dll içindeki methodu, C++ dll i içinde çalıştırmak. (Microsoft un hostfxr, nethost, coreclr_delegates apilerini kullanarak)
  • 04-11-2024, 14:27:47
    #4
    Üyeliği durduruldu
    bircan adlı üyeden alıntı: mesajı görüntüle
    İstediğim şey bunun tam tersi. C# ile yazılan bir dll içindeki methodu, C++ dll i içinde çalıştırmak. (Microsoft un hostfxr, nethost, coreclr_delegates apilerini kullanarak)
    Aynı mantık bu kez cli için yazılmış yerel olmayan bir dll .net core veya .net icin yazılmış bir dll (c#, visual basic) yine yerel bir C++ uygulamasında .net c++ yerel başlıkları ile çağırabilir
  • 04-11-2024, 15:25:29
    #5
    pckos adlı üyeden alıntı: mesajı görüntüle
    Aynı mantık bu kez cli için yazılmış yerel olmayan bir dll .net core veya .net icin yazılmış bir dll (c#, visual basic) yine yerel bir C++ uygulamasında .net c++ yerel başlıkları ile çağırabilir
    Eğitim almak istemiyorum bu arada C++ için.
    Unmanaged bir uygulamadan managed code çalıştırabilmek için bahsettiğim apiler yardımıyla dotnet runtime host edilmesi gerekiyor.

    Verdiğim linklerde zaten bir çok şeyi anlatıyor. Ben C++ bilmediğim için parçaları birleştiremedim. Ama bilen biri için basit bir iş. Gerekli apiler zaten mevcut.
    Yardımcı olabilecekseniz, ücreti mukabilinde, görüşebiliriz.
  • 04-11-2024, 15:38:01
    #6
    Üyeliği durduruldu
    bircan adlı üyeden alıntı: mesajı görüntüle
    Eğitim almak istemiyorum bu arada C++ için.
    Unmanaged bir uygulamadan managed code çalıştırabilmek için bahsettiğim apiler yardımıyla dotnet runtime host edilmesi gerekiyor.

    Verdiğim linklerde zaten bir çok şeyi anlatıyor. Ben C++ bilmediğim için parçaları birleştiremedim. Ama bilen biri için basit bir iş. Gerekli apiler zaten mevcut.
    Yardımcı olabilecekseniz, ücreti mukabilinde, görüşebiliriz.
    Danışmanlık dediğiniz için ben eğitim dedim. Aslında ne eğitime ne diğer türlü desteğe bile ihtiyacınız yok. Dokumatasyonları anlamak için mekanizmayı bilmeniz gerekir kısaca bunu yazıyorum

    1) C# cli denen bir sanal makina üzerinde çalışır Java gibi. C# da güvensiz kod olarak gösterici elbette kullanabilir ancak gerçek bir gösterici gibi bellekte bir adres belirtmez cli üzerinde manipüle yapar

    2) c# ile yazılmış kodlar dll olarak derlenebilir bunların gerçek yerel (native) dll lerden farkı doğal olarak cli içindir

    3) C++ da bir c# fonskyionunu çağırmak için c++/cli arayüz görevi yapar sanki c++ başlık (header) dosyası include ediliyor gibi kullanılabilir

    4) C++ çağrılacak C# fonskyionları .net bağımlı olmalı sadece 3. Parti bağımlılık olursa mutlaka sorun çıkar buda aşılabilir. .net bağımlılıkları Windows da misrolib.dll gibi derlenmiş hazır cli kütüphanelerinde bulunur

    Bu mantıktan cozemezseniz ücretli destek veririm kolay gelsin