【问题标题】:FileNotFoundException thrown when calling Assembly.GetExportedTypes()调用 Assembly.GetExportedTypes() 时抛出 FileNotFoundException
【发布时间】:2010-10-08 21:11:23
【问题描述】:

在精简的 XP SP3 x86 虚拟机上运行 .net 2.0 应用程序时出现此错误,即使在安装应用程序之前已经安装了 .net 2.0 框架运行时。

异常来源:mscorlib 异常类型:System.IO.FileNotFoundException 异常消息:无法加载文件或程序集“WindowsBase,Version=3.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”或其依赖项之一。该系统找不到指定的文件。 异常目标站点:GetExportedTypes - - 堆栈跟踪 - - System.Reflection.Assembly.GetExportedTypes() XSplit.Core.exe:N 00000 XSplit.Core.Capture.ChannelAddinManager.#Dm(作为字符串) XSplit.Core.exe:N 00105 XSplit.Core.Capture.ChannelAddinManager.#Cm() XSplit.Core.exe:N 00265 XSplit.Core.Capture.ChannelAddinManager.Init(路径为字符串,主机为 IAddinHost) XSplit.Core.exe:N 00104 XSplit.Core.frmLogin.InitializeAddinComponent() XSplit.Core.exe:N 00534 XSplit.Core.frmLogin..ctor(args As String[]) XSplit.Core.exe:N 01263

产生这个错误的相关代码是这样的

var assembly = Assembly.LoadFrom(dllFile); var assemblyTypes = assembly.GetExportedTypes();

即使在安装 framework 2.0 sp2 之后,仍然会抛出此错误。

你们知道这是为什么吗?

【问题讨论】:

    标签: c# .net-2.0 x86 vmware-workstation windows-xp-sp2


    【解决方案1】:

    WindowsBase 程序集直到 .NET 3.0 才可用。如果您想毫无例外地运行此代码,那么您需要在机器上安装 3.0,2.0 还不够好。检查外接程序项目的构建设置并确保它没有引用任何 WPF 程序集。

    【讨论】:

    • 构建目标是 .net 2.0,并且引用的程序集都不是 WPF,所以我们很困惑为什么会抛出这个错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-19
    • 2020-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多