이전 asp.net 웹 양식을 상속 받았습니다 웹 사이트 응용 프로그램, 최근 프로젝트 중 하나 인 모든 코드를 app_code 폴더에서 별도의 라이브러리로 이동했습니다. 이것은 하나의 페이지를 제외하고는 크게 효과가있었습니다.인라인 코드에서 어셈블리 참조를 찾을 수 없습니다.
해당 페이지에 코드가없고 단지 은 VB.NET 코드을 사용하여 일부 작업을 수행합니다. 코드는 대신은을 App_Code의 DLL에 보이는 DLL의 유형을 찾고, 나는 새로 만든 라이브러리에서 유형을 구성 할 필요가 나는 다음과 같은 예외 얻을 :
그래서 나는 가져 오기 네임 스페이스와 어셈블리 참조를 추가했다. 아래 코드 : 울부 짖는 소리유형 'CybersourceSecurity'를로드 할 수 없습니다를 어셈블리 'App_Code, 버전 = 0.0.0.0, 문화 = 중립, PublicKeyToken = null'에서.
아직도 내가 오류를 얻을 :<%@ Assembly Name="EA.Legacy" %> <%@ Import Namespace="EA.Legacy" %>
<%@ Page Language="VB" AutoEventWireup="false" EnableViewState="false" EnableViewStateMac="false" %>
<%@ Assembly Name="EA.Legacy" %>
<%@ Import Namespace="EA.Legacy" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head runat="server">
<title>Events and Adventures</title>
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="-1" />
</head>
<body>
<form id="form1" runat="server">
<div>
<%
Dim ky As String
Dim fm As Collections.Specialized.NameValueCollection
Dim sb As New StringBuilder
Dim cybsSecurity As New EA.Legacy.CybersourceSecurity
Dim ValidSignature As Boolean = False
Try
<Do a bunch of stuff that never happens because we blow up first.>
Catch ext As Threading.ThreadAbortException
'ignore
Catch ex As Exception
eventsvb.PageError(Me, ex, "CybersourceReceipt")
Finally
sb = Nothing
cybsSecurity = Nothing
End Try
%>
</div>
</form>
</body>
</html>
전체 스택 추적 :
[TypeLoadException이 : 어셈블리에서 유형 'CybersourceSecurity'를로드 할 수 없습니다 '을 App_Code, 버전 = 0.0.0.0, 문화 = 중립, PublicKeyToken = null이 System.Web.UI.Control.RenderChildrenInternal에서 '.] ASP.accounting_cybs_receipt_form_aspx .__ Renderform1 (HtmlTextWriter입니다 __w, 제어 parameterContainer) (지정된 HtmlTextWriter 작가, ICollection은 어린이) 131 System.Web.UI.HtmlControls.HtmlForm.RenderChildren (HtmlTextWriter입니다 작가) +315 System.Web.UI.HtmlControls.HtmlContainerControl.Render (HtmlTextWriter 작성기) +48 System.Web.UI.Control.RenderChildrenInternal (HtmlTextWriter 작성기, ICollection 하위) +246 System.Web.UI.Page.Render (HtmlTextWriter 작성기) 40 System.Web.UI.Page.ProcessRequestMain (부울 includeStagesBeforeAsyncPoint, 부울 includeStagesAfterAsyncPoint) 5290
[편집] 참고 :이 코드는 VS에서 잘 작동 나는 더와 그것을 통해 단계 수 예외는 웹 서버에서만 발생합니다.
같은 폴더에 새 페이지를 만드는 경우 해당 새 페이지의 코드 숨김에서 'CybersourceSecurity' 인스턴스를 만들 수 있습니까? –
예, 코드 뒤에 CyberSourceSecurity 클래스를 사용하는 많은 페이지가 있습니다. 나는 Visual Studio에서이 오류가 발생하지 않도록 추가하는 것을 잊어 버렸습니다. 코드를 단계별로 실행할 수 있으며 웹 서버에서만 제대로 작동합니다. – Anthony
웹 사이트 "프로젝트"또는 웹 응용 프로그램 프로젝트의이 부분입니까? –