【发布时间】:2014-02-23 06:49:17
【问题描述】:
我最近安装了 Visual Studio 2012。
但是,安装后,以前在 Visual Studio 2010 中正常运行的项目开始抛出并崩溃,出现以下错误:
'System.TypeInitializationException: 'MyType' 的类型初始化器 抛出异常。 ---> System.IO.FileNotFoundException: 不能 加载文件或程序集“MyAssembly.XmlSerializers”或其之一 依赖关系。系统找不到指定的文件。
在 System.Reflection.RuntimeAssembly._nLoad(AssemblyName 文件名, 字符串 codeBase、证据 assemblySecurity、RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean for Introspection, Boolean 抑制安全检查)
在 System.Reflection.RuntimeAssembly.nLoad(AssemblyName 文件名, 字符串 codeBase、证据 assemblySecurity、RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean for Introspection, Boolean 抑制安全检查)
我确实没有将项目升级到 VS2012,我像以前一样在 VS2010 之外运行它。我没有对项目本身进行任何更改。唯一的变化是我在机器上安装了 VS2012(和 .NET 4.5)。
什么可能导致这个意外问题?
【问题讨论】:
-
您是否在项目参考中检查过该程序集?如果它在那里,请在“属性”窗口中查看它正在寻找的路径,并确保它是正确的。
-
*.XmlSerializers.dll 不是标准参考。它是 .Net 在需要时动态生成的参考。
-
同样的事情。您确定它在动态生成时指向的路径有效吗?
-
文件永远不会生成,所以路径无效。但是,我没有对项目本身进行任何代码或配置更改。
-
我最近得到了这个,发现它掩盖了一个 BadImageFormatException。尝试打开 fusion logging 并查看是否存在无法加载的程序集。我认为例外是红鲱鱼。
标签: c# visual-studio