2012-05-21 49 views
1

Ì在許多項目中遇到過這個問題,我幾乎放棄了。不過,我確定有一個解決方案。當我在VB.Net Windows窗體應用程序中插入一個Flash對象時,它可以正常工作一段時間,然後在設計屏幕中看到此錯誤。我正在使用Visual Studio 2010VB.Net嵌入式Flash對象產生問題

無法加載文件或程序集「Interop.ShockwaveFlashObjects,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null」或其某個依賴項。該系統找不到指定的文件。

我已經閱讀了爲什麼發生這種情況的幾個描述,顯然它與強命名(或缺乏)有關,但還沒有找到解決方案。我使用了添加引用 - > COM-> Shockwave Flash(C:\ Windows \ SysWOW64 \ Macromed \ Flash \ Flash32_11_2_202_235.ocx)如果我忽略錯誤它似乎工作正常,但我不希望我的用戶出現問題。

我知道我可以使用瀏覽器控件並在其中播放Flash,但由於我不想進入的原因,我必須使用Flash控件。任何想法都會有幫助。

回答

0

好的。我不能保證這爲你工作,但它對我有用。 首先,您必須在計算機上找到一個名爲AxImp.exe的文件。您必須從命令提示符運行它。這個文件位於(對我來說)這裏: C:\ Program Files \ Microsoft SDKs \ Windows \ v7.0 \ Bin \ x64

一旦你找到並運行它,你必須指向它的正確Flash.ocx文件,你正在使用,就像這樣:

AxImp.exe <path>\Flash.ocx 

一旦你這樣做,你應該在同一個目錄中.ocx文件2個DLL文件結束。一個叫AxShockwaveFlashObjects.dll,另一個叫ShockwaveFlashObjects.dll。

你不關心ShockwaveFlashObjects.dll,只是AxShockwaveFlashObjects.dll。 抓取該文件和Flash * .ocx文件並將其粘貼到項目目錄中。 然後將它們包含到您的參考文獻中。這應該打開兩個新的引用,AxShockwaveObjects和ShockwaveObjects。 確保你使用了他們兩個。 之後,您必須在命令提示符下使用RegSvr32註冊Flash * .ocx(確保以管理員模式運行CMD)。這是這樣做的:

C:\RegSvr32 <path>\Flash.ocx 

這對我有效。我遇到了完全相同的問題(這就是我引起的)。這可能是一個半支持的黑客解決方法,但現在,這就是它爲我工作。

讓我知道它是否適用於您。

希望它適合你。

0

我知道這是一箇舊帖子,但我昨天有這個問題,至少在我的情況下,解決方案非常簡單。我所要做的只是將Platform和Platform Target更改爲x86(項目屬性的「構建」選項卡)。