我想知道如何去將現有的c#winforms應用程序轉換爲類庫,然後從mfc應用程序調用它。有沒有關於如何做到這一點的參考?我嘗試了谷歌搜索,但除了它將需要ComVisible
屬性設置爲true
的事實,我還沒有找到很多信息。製作一個c#winforms應用程序可用作一個dll從一個非託管mfc應用程序
謝謝。
我想知道如何去將現有的c#winforms應用程序轉換爲類庫,然後從mfc應用程序調用它。有沒有關於如何做到這一點的參考?我嘗試了谷歌搜索,但除了它將需要ComVisible
屬性設置爲true
的事實,我還沒有找到很多信息。製作一個c#winforms應用程序可用作一個dll從一個非託管mfc應用程序
謝謝。
看看.NET附帶的regasm.exe工具。它將生成必要的註冊表項(以及可選的.tlb文件),以允許COM組件訪問您的程序集。
在visual studio項目屬性中將輸出類型更改爲類庫。這將使你的項目編譯成一個dll。另外將comvisible屬性設置爲true。因此會生成一個可調用的包裝器和一個tlb文件,您可以從您的mfc項目中使用它。
而且我覺得下面的鏈接是COM互操作是如何工作的.Net非常好,詳細的解釋
一旦你正確地得到這個版本,那麼你將需要得到它運行正常。主要的問題可能是從非託管窗口正確地教育Windows窗體,基本上讓你的託管窗體生活在非託管應用程序開始的內部。如果您不使用WPF作爲非託管代碼和託管表單之間的UI橋接,那麼您將需要自己完成這項工作。你可以通過谷歌這個主題了解更多信息,目前沒有這方便的鏈接。
有an MSDN sample涵蓋將一個Winforms用戶控件放在MFC應用程序 - 對話框或視圖。在編寫代碼時,應該會顯示您需要的項目設置。