Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net运行时试图使用错误版本的程序集_.net_Deployment_Assembly Resolution - Fatal编程技术网

.net运行时试图使用错误版本的程序集

.net运行时试图使用错误版本的程序集,.net,deployment,assembly-resolution,.net,Deployment,Assembly Resolution,我有一个应用程序,它引用程序集Microsoft.Xna.Framework,版本=2.0.0.0,区域性=中性,PublicKeyToken=6d5c3888ef60e27d。我创建了一个安装程序项目,通过运行XNA redist安装程序在GAC中安装此程序集 然而,当第一次使用这个程序集时,我在JIT期间收到一个异常。然后我尝试对图像进行加密,加密给出以下错误消息: Failed to load dependency Microsoft.Xna.Framework of assembly x

我有一个应用程序,它引用程序集Microsoft.Xna.Framework,版本=2.0.0.0,区域性=中性,PublicKeyToken=6d5c3888ef60e27d。我创建了一个安装程序项目,通过运行XNA redist安装程序在GAC中安装此程序集

然而,当第一次使用这个程序集时,我在JIT期间收到一个异常。然后我尝试对图像进行加密,加密给出以下错误消息:

Failed to load dependency Microsoft.Xna.Framework of assembly x,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null because of the following
error : The specified module could not be found. (Exception from HRESULT: 0x8007007E)
请注意,版本为1.0.0.0,缺少PublicKeyToken,并且不存在伪程序集。是什么导致JITer和ngen尝试加载此错误版本的程序集

GAC中有正确版本的组件。我已经在Reflector中打开了我的图像,参考正确地显示在那里。我还验证了依赖关系层次结构中没有其他程序集加载伪造的1.0.0.0版本。事实上,1.0.0.0版本在任何地方都不存在,无论是在开发箱上还是在测试机器上

但是,当尝试在测试机上扩展对Microsoft.Xna.Framework的引用时,Reflector正确地认为引用的程序集版本是2.0.0.0,但它找不到它,即使我在资源管理器中查看c:\windows\assembly时可以在GAC中看到它


请提供帮助。

注意-外部1.0 DLL的前期编辑


您是否使用任何外部DLL?可能是引用1.0版本的第三方xna dll。如果这一点首先被发现,那么所有的赌注都可能落空。尝试查看reflector中的任何外部DLL,以便查看它们引用的版本。您也可以尝试为xna dll添加一个链接。

感谢对依赖关系层次结构的建议,但不幸的是,它没有帮助。我更新了问题。我还检查了版本策略选项,但它似乎对我没有帮助,因为我必须同时更改版本和公钥令牌。是否可以在引用上复制本地?引用的程序集应该位于GAC中,我可以在c:\windows\assembly中看到它。