C# - dll引用如何工作?

时间:2013-11-01 20:34:49

标签: c# .net dll .net-assembly

我正在开发一个连接Web服务的客户端应用程序,为此,我使用WebClient类和JavaScriptSerializer类将请求的字符串解析为JSON。

我必须添加一个来自System.Web.Extensions.dll的引用,以使第二个工作,并且工作得很好但是如果我将我的exe文件移动到其他计算机显然会抛出我无法找到dll的异常。我试图将System.Web.Extensions.dll复制到我的应用程序的bin文件夹并再次添加引用,但它似乎无法正常工作..

我想要做的很简单,我想把我的exe文件的路径引用的dll,然后我随时随地迁移文件,程序通过相对路径加载dll。

说真的,我不知道为什么微软没有让事情变得更容易处理(比如在java中导入jar文件),这非常令人困惑,同样的事情发生在我之前的wiaaut.dll上我必须注册它在regsvr的系统中..

2 个答案:

答案 0 :(得分:5)

只要您复制它的机器具有完整版本的.NET - 而不仅仅是客户端配置文件,它应该没问题。您不需要复制任何内容 - 从GAC中提取它应该没问题。只需确保您拥有正确的.NET版本。

答案 1 :(得分:0)

您可以检查System.Web.Extensions.dll是否在目标计算机的全局程序集缓存中。为此,只需打开C:\ Windows \ Assembly文件夹(这基本上是您的GAC文件夹)。如果它不存在,则需要安装它。

要安装它,请使用以下命令: gacutil / i

更多关于GacUtil的信息: http://msdn.microsoft.com/en-us/library/ex0ss12c.aspx