C#DLL依赖于另一个DLL

C#DLL依赖于另一个DLL,c#,.net,visual-studio-2010,dll,C#,.net,Visual Studio 2010,Dll,我正在与Microsoft Visual Studio 2010和C#一起制作一个项目。有了这个项目,我想生成一个.dll 在我的项目中,我有一个对itextsharp.dll的外部引用,当我试图在另一台计算机上使用myproject.dll时,这会给我一个错误: 无法加载文件或程序集itextsharp 所以,有人知道我该如何解决这个问题吗?只需将itextsharp.dll复制到与myproject.dll相同的文件夹中即可 也可以通过将的“本地副本”属性设置为“true”来自动执行此操作。

我正在与Microsoft Visual Studio 2010和C#一起制作一个项目。有了这个项目,我想生成一个.dll

在我的项目中,我有一个对
itextsharp.dll
的外部引用,当我试图在另一台计算机上使用
myproject.dll
时,这会给我一个错误:

无法加载文件或程序集itextsharp


所以,有人知道我该如何解决这个问题吗?

只需将itextsharp.dll复制到与myproject.dll相同的文件夹中即可


也可以通过将的“本地副本”属性设置为“true”来自动执行此操作。因此,每次重建后,Visual Studio都会自动将.dll文件复制到当前项目的所有已编译dll/exe文件附近。

编辑web.config文件以删除引用,正常操作不需要此引用:

1-在站点根目录中打开web.config/app.config文件

2-找到以下行并注释():xxxxx-是程序集名称

<add assembly="xxxxx", Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>3 - Save and close the web.config file and try again

更新:

上述方法不起作用,那么您也需要在新项目中引用itextsharp.dll。原因是

itextsharp.dll-->级别0(不取决于其他dll)
Myprojet.dll-->级别1(取决于itextsharp.dll)
消费应用程序-->级别2(取决于级别1、级别2)


构建消费应用程序后,您必须在bin文件夹中获取0级、1级dll。因此,您必须添加itextSharp.dll作为参考。

如果您在项目中添加的dll不是Microsoft build-in.dll,则必须将此.dll与应用程序一起复制/粘贴。它们必须在一起,因为此.dll是从应用程序所在的当前目录中的应用程序中搜索的。

或者只需在项目窗口中更改此引用库的一个属性-将“Local Copy”设置为“true”。每次重建后,Visual Studio都会自动为您复制.dll文件。.引用
itextsharp.dll
的适当本地副本已为true。每次我构建项目时,它都会构建
myproject.dll
itextsharp.dll
。对该dll的引用是否应该与生成操作生成它的路径相同?@Sharekhan,只需将此属性更改为“true”-Visual Studio将为您提供所有功能。如果它们没有全局安装在另一台计算机上-是的,它们必须在那里。此设置属性直接指示Visual Studio复制引用的library@Sharekhan,*设置此属性是的,我看到将此属性设置为true会使库复制到输出路径,但上次不起作用。我想是因为对图书馆的引用不是这条路径。那是另一件事。如果现在能用,我会试试。谢谢@鲁法诺夫