[英]C# Assembly not found at runtime
我在新电脑上的XNA项目开始出现一个奇怪的错误。 我在解决方案上有两个项目,并且两个人都在使用一个库。 其中一个项目XNA Game Project可以完美运行。 另一个项目是WindowsForm和XNA的混合。 单击按钮时,该窗体启动XNA类。 当我运行该程序时,在单击启动XNA类的按钮之前,它一直有效。 恰好在执行构造函数的那一刻将触发FileNotFoundException。
System.IO.FileNotFoundException was unhandled Message="Could not load file or assembly 'Microsoft.Xna.Framework, Version=3.0.0.0, Culture=neutral, PublicKeyToken=6d5c3888ef60e27d' or one of its dependencies. The system cannot find the path specified."
参考是正确的,编译没有问题。 我们已经尝试删除引用,然后再次添加它,但是它不起作用。 在其他队友的电脑上,一切正常。
任何人都知道是什么问题吗?
检查您的配置文件以获取对此dll的引用。 最有可能是通过反射加载的类型。 我在Ent Lib中看到了这些类型的错误。
如果此文件位于队友计算机上的GAC中,或者您具有其他配置文件,则不会显示此错误。
HTH
布赖恩
您可以尝试使用平台sdk上的depends.exe来调查缺少的依赖项。 我假设您已手动验证文件在正确的文件夹中?
另外, x64上的此dll显然存在问题
嗨,古斯塔沃,听起来你很久以前就这样:
http://blogs.msdn.com/b/shawnhar/archive/2008/02/25/xna-framework-on-64-bit-windows.aspx
听起来好像CLR试图寻找64位版本的XNA,但没有,这就是为什么XNA Project可以创建一个新项目的原因,因为默认情况下默认为32位。
只需将其留在此处以供参考,也请先关闭此问题,然后选择答案。 :3
我通过一种解决方法解决了这个问题:
我创建一个新的XNA项目并将所有内容移动到那里,然后将引用添加到WindowsForm。 装配问题不再发生了!
感谢您的所有帮助。
您可以使用fuslogvw或提到的任何其他方式来找到根本原因。 您还可以捕获AssemblyResolve
事件,并在From
或Neither
上下文中手动加载程序集。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.