添加在 GAC 中组装所需的程序集(在 Web.Config 中)



请参阅下面的代码(图像处理程序):

<%@ WebHandler Language="VB" Class="com.Genie.PresentationLayer.Web.ImageHandler1" %>
Imports com.Genie.BusinessLogicLayer
Namespace com.Genie.PresentationLayer.Web
    Public Class ImageHandler1
        Inherits ImageHandler
        Private p1 as Person    
        Public Sub New()
        End Sub
end class
end namespace

.com。Genie.BusinessLogicLayer 今天被添加到 GAC 中。 应用程序在到达图像处理程序时生成运行时错误:"未定义类型人员"。 按如下所示将程序集添加到 web.config 可解决此问题:

<assemblies>
        <add assembly="BusinessLogicLayer, Version=1.0.0.0, Culture=neutral, PublicKeyToken="669e0ddf0bb1aa2a"/>
</assemblies>

为什么我必须修改 web.config?我认为"添加程序集"适用于不使用MSBuild的网站项目(因此没有"引用")。 这是一个 Web 应用程序项目。

编译

项目时使用添加到项目的引用,但在首次请求项目时编译 ASPX 页或 ASHX 处理程序。此时,引用将丢失,因此您需要自己提供它们。

另一种方法是预编译 ASPX 页,导致在编译时而不是运行时捕获错误,或者将代码移动到代码隐藏,以便使用项目的引用。

最新更新