1

在精简的 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 之后,仍然会抛出此错误。

你们知道这是为什么吗?

4

1 回答 1

2

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

于 2010-10-08T13:11:23.163 回答