2017-03-17 21 views
-1

我有一个C#项目,生成some.dll,它引用了一堆DLL,其中一个是System.ComponentModel.Composition.dll,它在下找到。从我的系统中引用System.ComponentModel.Composition.dll的位置?

我构建了some.dll并部署在Windows XP系统上。使用此some.dll的应用程序正常运行。但是当我尝试在Windows XP系统上寻找下的System.ComponentModel.Composition.dll时,我找不到它。

我只是想了解应用程序如何正常运行。

我想了解它的原因是,我在不同的系统中构建了some.dll,并部署在另一个Windows XP系统上。当我尝试启动应用程序,该应用程序崩溃与错误:

Exception ::Could not load file or assembly 'System.ComponentModel.Composition.resources, Version=4.0.0.0, Culture=en-NZ, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The system cannot find the file specified. 

回答

2

参考组件在编译时使用。通常,就像这里所指的那样,安装为.NET Framework的零件的程序集。这会将这些程序集放置在C:\Windows\Assembly(用于GAC)或C:\Windows\Microsoft.Net的某处。

在这种情况下,它倾向于暗示缺少组件的机器没有安装正确版本的.NET。

+0

我也这么认为。但是,在应用程序更早工作的系统中,如果我放置在第二个系统中编译的some.dll,应用程序将再次发生错误。 – pasha

+0

@pasha - 请注意,它在错误消息中引用了“en-NZ”文化 - 因此您可能不恰当地引用/缺少安装的(人)语言特定部分。 –

相关问题