繁体   English   中英

在运行时找不到C#程序集

[英]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事件,并在FromNeither上下文中手动加载程序集。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM