5

编写一个例程的 WinForms 应用程序,该应用程序引用了一些我自己编写的自定义库。我正在构建一个依赖于另一个库的特定库,当我这样做时,我收到以下警告消息:

“无法加载文件或程序集 'RHLib' 版本 1.0.0.0、Culture=neutral、PublicKeyToken=null' 或其依赖项之一。系统找不到指定的文件”

应用程序功能,没有错误消息,但我是喜欢完全干净编译的人之一 - 没有错误,没有警告。我无法弄清楚这一点。

有问题的库引用了“缺失”库,“缺失”库被编译并在 VS 完成编译时位于 Debug 目录中,构建顺序将“缺失”库作为第一个构建的项目,“缺失”库" 库没有依赖关系——它是一个小型库,旨在让我摆脱循环装配问题。

有任何想法吗?

4

3 回答 3

7

即使警告来自使用“缺失”库的库,添加对调用该库的应用程序的引用(该库称为“缺失”库)删除了警告。

解释:原来的程序集(我们称之为 AS0)称为另一个程序集(我们称之为 AS1)。AS1 在 AS0 的引用列表中,但是,AS1 调用了另一个程序集(我们称之为 AS2),当然,AS2 在 AS1 的引用列表中,但不在 AS0 的引用列表中。为了解决这个问题,我将 AS2 添加到了 AS0 的参考列表中。那成功了。

于 2009-09-25T23:16:39.520 回答
3

你是不是在项目上右击,点击添加引用,然后使用RHLib添加;到文件顶部?

于 2009-09-25T22:19:36.933 回答
1

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

1 - 打开站点根目录中的 web.config 文件

2 - 找到以下行并将其注释掉():

<add assembly="xxxxx", Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

3 - 保存并关闭 web.config 文件,然后重试

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

于 2012-04-25T11:33:29.420 回答