1

Ì 在很多项目中都遇到过这个问题,我几乎放弃了。我相信有一个解决方案。当我在 VB.Net Windows Forms 应用程序中插入 Flash 对象时,它可以正常工作一段时间,然后我在设计屏幕中看到此错误。我正在使用 Visual Studio 2010

无法加载文件或程序集“Interop.ShockwaveFlashObjects,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null”或其依赖项之一。该系统找不到指定的文件。

我已经阅读了一些关于为什么会发生这种情况的描述,显然它与强命名(或缺乏强命名)有关,但还没有找到解决方案。我使用了 Add Reference->COM->Shockwave Flash (C:\Windows\SysWOW64\Macromed\Flash\Flash32_11_2_202_235.ocx) 如果我忽略该错误,它似乎工作正常,但我不希望我的用户有问题.

我知道我可以使用浏览器控件并在其中播放 Flash,但由于我不会进入的原因,我必须使用 Flash 控件。任何想法都会有所帮助。

4

2 回答 2

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

这对我有用。我遇到了完全相同的问题(这就是导致我来到这里的原因)。这可能是一个半支持的黑客解决方法,但就目前而言,这就是它对我的工作方式。

让我知道它是否适合您。

希望对你来说一切顺利。

于 2012-11-12T17:59:23.027 回答
0

我知道这是一篇旧帖子,但我昨天遇到了这个问题,至少在我的情况下,解决方案非常简单。我所要做的就是将平台和平台目标更改为 x86(项目属性的构建选项卡)。

于 2013-03-29T13:30:26.113 回答