[英]Unable to load Winforms designer in VS2012 due to old assembly reference
[英]VS2012 Designer Could Not Load Assembly
有一個C#項目的解決方案引用托管C ++庫,該庫反過來引用本機C ++庫。 C#項目包含BaseUserControl和ChildUserControl,它擴展了它。
問題是:如果在BaseUserControl的構造函數中調用來自本機C ++的代碼(通過托管C ++庫),則無法在設計器視圖中查看ChildUserControl; 也不能將BaseUserControl或ChildUserControl添加到表單中。 我們收到以下錯誤:
無法加載文件或程序集“TestLibCPP,Version = 1.0.4877.30347,Culture = neutral,PublicKeyToken = null”或其依賴項之一。 該系統找不到指定的文件。
我們該如何解決這個問題?
我已經包含了一個簡單的VS2012解決方案來演示這個問題。 這是一個基於我們在大型代碼庫中遇到的問題的人為例子,該代碼庫最近已從VS2005轉換為VS2012。
謝謝
如果您有源代碼,請嘗試使用configuraion(X86平台)重建解決方案,然后嘗試使用設計器打開ChildUserControl。
問題可能是您的本機dll構建在32位配置之上,嘗試在32位平台上構建項目
嘗試將GUITest平台目標更改為x86。 它目前是“任何CPU”。 無論你是64位還是32位,你都可以這樣做。 一定要查看配置中的平台(Debug,Release,..)
問題完全基於C ++項目的X86架構。 您的WinForms項目引用“任何CPU”。
我已經包含了一張圖片,告訴你在哪里更改它(sry它用德語,但你應該從屏幕上的位置找到:)
編輯:
我剛剛看到Bounty問題是關於將所有設置設置為64位,以便實現簡單地將C ++ dll的目標設置為x64架構。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.