2014-03-31 145 views
0

我正在与Microsoft Visual Studio 2010和C#项目。有了这个项目,我想生成一个.dll。C#DLL依赖于另一个DLL

在我的项目我有一个外部参考itextsharp.dll,这给我一个错误,当我尝试到另一台计算机上使用myproject.dll它给了我一个错误:

Can't load file or assembly itextsharp...

所以任何人都知道我该怎么解决这个?

回答

2

只是itextsharp.dll复制到同一文件夹中myproject.dll

这也可以通过设置的“真”,“本地副本”属性来实现自动化。因此,在每次重建之后,Visual Studio会自动将当前项目的所有已编译的dll/exe文件复制到您的.dll文件中。

+0

引用'itextsharp.dll'的本地拷贝已经成立。每次构建我的项目时,都会构建'myproject.dll'和'itextsharp.dll'。 对此dll的引用应该在构建操作构建它的相同路径中吗? – mtrebi

+0

@Sharekhan,只需将此属性更改为“true” - Visual Studio将为您完成所有工作。 如果他们没有安装在另一台电脑上全球 - 是的,他们必须在那里。此设置属性使直接指令为Visual Studio复制引用的库 – rufanov

+0

@Sharekhan,*设置此属性 – rufanov

0

编辑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 

参考链接:http://manual.aspdotnetstorefront.com/p-1118-could-not-load-file-or-assembly-microsoftwebservices3-version3000-cultureneutral-publickeytoken31bf3856ad364e35.aspx

UPDATE:

上面没有再工作,你需要参考的新项目itextsharp.dll作为well.The原因。

itextsharp.dll - >电平0(不依赖于其他DLL)
Myprojet.dll - >电平1(取决于itextsharp.dll)
消耗附录 - >电平2(根据1水平,级别2)

生成消耗程序后,您必须在bin文件夹中获得级别0级别1的dll。因此,您必须添加itextSharp.dll作为参考。

0

如果您在项目中添加了一个dll,那不是Microsoft的.dll版本,您必须将该.dll复制/粘贴到您的应用程序中。它们必须在一起,因为这个.dll是从您的应用程序中搜索应用程序所在的当前目录。

+0

或者只需在项目窗口中更改此引用库的一个属性 - 将“本地副本”设置为“true”。每次重建后,Visual Studio都会自动为您复制.dll文件。 – rufanov