如何在web.config中引用DLL?

时间:2009-01-21 02:06:35

标签: c# asp.net wcf rest service

我在BIN文件夹中有一个DLL,我需要在web.config中引用它,否则我会遇到这个恼人的错误:

  

描述:期间发生错误   编译所需的资源   为此请求提供服务。请查阅   以下具体错误详情   并修改您的源代码   适当。

     

编译器错误消息:CS0234:   类型或命名空间名称'ServiceModel'   在命名空间中不存在   '微软'(你错过了吗?   装配参考?)

此DLL不在GAC中,为此我无法使用

<assemblies><add ...

所以我的猜测是我需要使用像

这样的configSections
<configSections>
  <section name="Microsoft.System.Web" 
           type="Microsoft.System.Web,
                 Version=3.0.0.0, Culture=neutral,
                 PublicKeyToken=10633fbfa3fade6e "/>
</configSections>

正确的代码应该是什么?

2 个答案:

答案 0 :(得分:3)

除非您使用的程序集具有强名称,否则只需将其放在bin目录中即可。

您提到的configSection不是用于添加对程序集的引用。这是在web.config中定义配置节。因此,您可以通过向configsSections添加section标签来添加名为exampleSection的配置部分。这将允许您稍后在web.config中创建名为“exampleSection”的配置节。

configSections部分定义中存在程序集引用的原因是每个配置部分特定于它为其提供配置数据的程序集。 configSection可能特定于网站程序集本身(在这种情况下,这是您要指定的程序集),或者它可能是站点使用的其他程序集。通过创建configSection,您可以对在一个部分中相关的设置进行分组,而不是在appsettings中将所有应用程序中的设置混合在一起。

如果您提供了有关您遇到问题的更多信息,也许我们可以提供帮助。什么是组件以及它是如何使用的?

答案 1 :(得分:0)

很有趣我发现如果dll及其所有依赖项都在bin目录中,即使不在.SLN文件或web.config中也可以使用它。