2009-03-08 27 views
2

C++ kodunu zaten bağlı olan C# kodunu sınamak için NUnit'i kullanmaya çalıştım (NUnit uygulama mükemmel bir şekilde çalışmıyor).NUnit aracılığıyla C++ kodunu çalıştırma

Benim sınamamda, AppDomain.CurrentDomain.ExecuteAssembly (..) aracılığıyla ana işlevi çalıştırıyorum, ancak C# kodu C++ ile "iletişim kurmaya" çalıştığında bir istisna atar ve test çöküyor. İstisnası, System.Reflection.TargetInvocationException olup bittiği ve bunun neden olduğu fikri çok çok yararlı olacak ... Saygılarımızla, Naama

+0

Bu özel durumu atlayan kod parçasını yalıtmak için bir hata ayıklayıcısını kullanmayı denediniz mi? Özel durum C# veya C++ uygulamasında atılıyor mu? – strager

+0

Uygulamanızda app.config öğenize herhangi bir şey eklemeniz mi gerekiyor? – eglasius

+0

Hata ayıklayıcısını kullandım ve özel durumun içinden geçtiği kodu izole ettim. Bir C# nesnesinde bulunan C++ nesnesinde bir nesne oluşturmaya çalıştığımda olur. Ve ben app.config benim uygulama –

cevap

1

Şüpheleriniz, kurucu sırasında geçerliliğini kaybediyor, C# kurucusu çalışıyor C++ ve C++ 'da C++' da yazılan bir nesne (uygulama normal olarak çalıştığında zaten sarılmış ve mükemmel çalışır) oluşturmak için istisna atılır. Ancak uygulama çok karmaşık ama açıklık için gerekli ise gerçek olanı sembolize bir demo uygulaması yazacağız.

+0

"Senin" benimsin? – strager

1

C++ kodunuzda, sınıfın yapıcısında bir istisna atılması olasıdır. Kural dışı durumları düzgün bir şekilde kullandığınızdan ve kurucuya doğru bilgileri verdiğinizden emin olmak için kontrol edin, böylece istisnalar atılmaz.

İlgili konular