无法加载文件或程序集“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控件。任何想法都会有所帮助。
答案 0 :(得分: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
这对我有用。我遇到了完全相同的问题(这就是我在这里的原因)。它可能是一个半支持的黑客解决方法,但就目前而言,这就是它对我有用的方式。
让我知道它是否适合你。
希望你顺利。
答案 1 :(得分:0)
我知道这是一个很老的帖子,但我昨天遇到了这个问题,至少在我的情况下,解决方案非常简单。我所要做的就是将平台和平台目标更改为x86(项目属性的构建选项卡)。