无法加载文件或程序集>’System.Windows,Version = 2.0.5.0
在第一次加载我的Silverlight应用程序时,我不断收到此错误:
无法加载文件或程序集’System.Windows,Version = 2.0.5.0,Culture = neutral,PublicKeyToken = 7cec85d7bea7798e’或其依赖项之一。 该系统找不到指定的文件
但只需刷新页面,它就会被解决!
它似乎是已知的Silverlight错误: http : //connect.microsoft.com/VisualStudio/feedback/details/464190/silverlight-compilation-problem-in-team-build-environment
他们建议解决方法,但在我的情况下不起作用。
那么实际上’System.Windows’程序集被复制到输出目录解决了我的问题。 只需确保将其复制到您将要执行的应用程序,而不仅仅是Debug文件夹。 还有一个非常好的替代品,没有类似的问题: SilverUnit
检查你是否有这样的代码
Assembly assembly = Assembly.Load(assemblyName);
如果你拥有它意味着它可能正在为其他.net框架加载不合适的assemblyName,如System.Windows
在这种情况下,您可以直接使用引用的库或从正确的assemblyName加载它像这样
foreach (var assemblyName in Assembly.GetExecutingAssembly().GetReferencedAssemblies()) { if (assemblyName.ToString().Contains("PresentationFramework")) { Assembly assembly = Assembly.Load(assemblyName); Common.AddToLog(assembly.FullName); Type[] allTypes = assembly.GetTypes(); foreach (Type type in allTypes) { if (type.IsSubclassOf(typeof(DependencyObject))) { allControlTypes.Add(type); } } } }
Blockquote实际上’System.Windows’程序集被复制到输出目录解决了我的问题。 只需确保将其复制到您将要执行的应用程序,而不仅仅是Debug文件夹。
在项目集的属性复制本地的参考文件夹中:您的程序集文件的true 。
注意:如果您的项目使用.NET 2.0,请使用.NET Framework v2.0 SP2来解决此问题
只需将此dll System.Windows.Presentation.dll的引用添加到项目中,因为您的项目要求System.Windows.dll ,它是一个包含在System.Windows.Presentation.dll中的命名空间。
dll的路径是:
C: WINDOWS Microsoft.NET assembly GAC_MSIL System.Windows.Presentation v4.0_4.0.0.0__b77a5c561934e089
我确实遇到过这个问题,将其添加到我的项目中已经解决了这个问题。
谢谢,
Ankur Bhutani
上述就是C#学习教程:无法加载文件或程序集>’System.Windows,Version = 2.0.5.0分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/954988.html