2010-01-29 21 views
3

我有一個用C++編寫的32位ActiveX控件。 當試圖在64位機器上使用aximp將其導入到.Net應用程序時,它會給出 AxImp錯誤:未在'xxx.dll'中找到已註冊的ActiveX控件。 即使在該控件上運行regsvr32後,我也會得到相同的錯誤。即使運行Regsvr32後,我得到aximp錯誤

還有另一個用C++編寫的32位ActiveX控件,AxImp在其上運行時沒有問題。

做了一多個測試 - 嘗試添加它的一個參照樣品.NET應用程序和VS 2K5扔此錯誤 - 甲參照「xxx.dll」不能被添加。請確保該文件是可訪問的,並且它是有效的程序集或COM組件。

但是,其他控件添加沒有問題。並且在引用中創建了一個AxXXXLib.dll。

問題是什麼?

感謝 希德

回答

4

另一個問題,在這裏可以爲您的32位OCX註冊與32位REGSVR32,但您使用的是64位的構建工具。確保你的MSBuild工具集與OCX註冊的位數相匹配。

對於Team Foundation Server上的Team Build設置,編輯構建定義並在Process> Advanced下選擇正確的平臺。

+0

這對我來說是非常寶貴的解決方案。我的VS2012在構建VS2010 C++項目時顯示AxImp.exe退出代碼爲-1163019603 - 將項目更改爲使用Win32構建配置解決了它。謝謝! – 2013-01-25 15:28:26

相關問題