0

我有一个基于 ASP.NET 的 Web 应用程序。我手动创建了所有文件夹,所以完整的结构如下。

    ROOT
        sendmail.aspx
        Web.config
    App_Code
        sendmail.cs
    bin
        Interop.ADODB.dll
        Interop.CDO.dll

我的 web.config 如下

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <system.web>
        <compilation>
            <assemblies>
                <add assembly="ADODB, Version=6.0.0.0, Culture=neutral, PublicKeyToken=null"/>
            </assemblies>
        </compilation>
    </system.web>
</configuration>

此设置在过去有效。但是,我们最近将测试计算机更新到了 Windows 7。服务器是 Windows Server 2005。我知道在 ADODB 7 sp1 和旧版本之间存在弃用问题。我已经为此安装了修补程序,并重新编译了 dll,然后将它们移至服务器。但是,现在我在编译时收到以下错误。我不确定为什么它没有正确引用 dll。

Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately. 

Compiler Error Message: CS0012: The type 'ADODB.Fields' is defined in an assembly that is not referenced. You must add a reference to assembly 'ADODB, Version=6.0.0.0, Culture=neutral, PublicKeyToken=null'

.

4

1 回答 1

0

把它放在你的 web.config 中:

<configuration>
  <system.web>
    <compilation>
      <assemblies>
        <add assembly="ADODB, Version=6.0.0.0, Culture=neutral, PublicKeyToken=null"/>
      </assemblies>
    </compilation>
  </system.web>
</configuration>

应该解决你的错误

于 2013-04-30T13:50:03.713 回答