C# içinde tüketebileceğiniz bir C++ WinRT bileşeni oluşturabileceğiniz söylendi. Basit bir test projem var - bir C# XAML uygulaması ve sadece temel WinRT Bileşeni proje şablonunu kullanan bir C++ projesi var. C# XAML projesinde bir proje başvurusu eklemeye çalıştığımda, bu başvuru eklenemediğini (neden emin değil) söylüyor. Yerel WinRT bileşenini oluşturabilirim ve .winmd dosyası oluşturulur ve bu .winmd dosyasına, başvuru ekle iletişim kutusundaki gözat düğmesini kullanarak el ile bir başvuru ekleyebilirim. Bu, yerel kitaplıktaki yöntemlere erişmeme izin verir, ancak oluşturduğumda, Platform.IDisposable kullanıyor, ancak bu tür başvurulan bir derlemede tanımlanır. Bu senaryoyu gösteren oturumların hiçbirini görmedim.Yerel bir WinRT bileşenini yönetilen bir projeden nasıl başvuruyorsunuz?
cevap
Cevabı bul! İlk o zaman elle \ VC \ içinde bulunan platform.winmd başvuru ekleyin, o zaman başvuru eklemek, WinRT bileşeni projeyi temizleyin Temelde http://social.msdn.microsoft.com/Forums/en-US/winappswithnativecode/thread/1900bd21-8693-4127-800a-f35cfd5daac2
: Bu bir aksaklık, ama bir işi-etrafında varmış gibi görünüyor bin o zaman gitmek için iyi olmalısın.
Başvuruda bulunduğunuz C++ WinRT aksamı, büyük olasılıkla, IDisposable arabirimini uygulayan nesneleri kullanır, böylece arabirimi içeren C++ derlemine başvurmanız gerekir.
Benzer sorunlar yaşadım, Microsoft.VCLibs'e bir başvuru ekledikten sonra konuşlandırılamadım. Ancak fark ettim ki, varsayılan olarak WinRT bileşeni x86 koduna derlenirken, C# Metro stili uygulaması HERHANGİ bir cpu hedefler ve bu benim durumumda temel bir nedendi. C# uygulamasını x86'ya çevirmek sorunu çözdü.
- 1. AppDelegate'i bir Bugün Görünüm Widget'ından nasıl başvuruyorsunuz?
- 2. Bir Vue bileşenini nasıl kaydederim?
- 3. Java: Bir GUI bileşenlerini bir AbstractAction nesnesinden nasıl başvuruyorsunuz?
- 4. Başka bir projeden sınıfa nasıl erişilir?
- 5. Yönetilen bir C++ (C++/CLI)
- 6. Yönetilen C++ sınıfını kullanarak bir yerel cpp sınıfını sarmalamaya çalışırken, yönetilen C++
- 7. Başka bir projeden kopyalandığında saydam olarak gösteriliyor
- 8. Flex'te bir ButtonBar bileşenini nasıl etiketleyebilirim?
- 9. Bir joomla bileşenini nasıl yeniden adlandırabilirsiniz?
- 10. UML'deki bir veritabanı bileşenini nasıl etiketlerim?
- 11. Angular2 bileşenini bir dizeye nasıl işleyebilirim?
- 12. WinRT XAML'de bir dizi nasıl eklenir
- 13. Bir char * arabellek bir WinRT IBuffer'ında C++
- 14. WinRT
- 15. Aynı çözümdeki bir C++/CLi projesinden C# projesine nasıl başvuruyorsunuz?
- 16. Yerel JavaScript kullanarak bir HTML DOM olayında JSF yönetilen bir fasulye nasıl çağırılır?
- 17. Başka bir projeden app.config dosyasına ayarları ekle
- 18. Bir projeden diğerine dosya kopyalama maven
- 19. Yönetilen bir dilde bir Bellek Yöneticisi Yazma?
- 20. Kaynak klasöründeki javafx fxml dosyalarını nasıl başvuruyorsunuz?
- 21. MSBuild çalışmıyor BuildDependsSözlenen bir projeden görevleri gerçekleştirme
- 22. ASP.NET Başka bir projeden varlık çerçevesini alma
- 23. eclipse başka bir java projeden ithalat
- 24. GroovyObject örneğini Groovy'deki MetaClass yöntemlerinden nasıl başvuruyorsunuz?
- 25. C++/CLI: Yönetilen enum'dan yönetilen enum'a dönüştürme
- 26. Şu anki projeden bir 2008 şablonu nasıl oluşturulur?
- 27. Eclipse JPA (Dali) başka bir projeden persistence.xml dosyasını nasıl kullanabilir?
- 28. IntelliJ IDEA'da başka bir projeden dersleri nasıl kullanırım?
- 29. Google Geliştirici Konsolu'ndaki bir projeden kendimi nasıl kaldırırım?
- 30. Birden çok projeden bir devir/dakika nasıl oluşturulur
Hangi C++ topluluğu nedir? Sözde, WinRT için tüm çekirdek derlemeler zaten otomatik olarak başvurulan. Seçmek için referans iletişim kutusunda hiçbir standart montaj yoktur. –
@Jeremy 'Platform.IDisposable' çözmek için .NET uygulamasına Microsoft.VCLibs' için bir başvuru eklemeniz gerekiyor gibi görünüyor (yan notta, System.IDisposable olarak projelendirilmesini beklerdim) ', ama olmaz ...). Ancak, onu referans olarak eklemek, dağıtım yaparken sorunlara neden oluyor gibi görünüyor. Muhtemelen bir Dev Önizleme tuhaflığı. –
Evet, Microsoft.VCLibs'i farkettim ve denedim, ve tanımlandığı yer burası gibi görünüyor, ancak dağıtımı yaparken de hata alıyorum. Ambalaj malzemelerini araştırmak zorunda kalacak - belki de VCLibs'in çalışması için pakete dahil edilmeli mi? Bunu işe almak isteyen var mı? –