2008-08-24 16 views
0

최근에 공유 호스트에서 linq와 관련된 문제가 발생했습니다.
호스트가 Shared Intellect이며 프레임 워크의 v3.5를 지원합니다. 그러나 SP1이 설치되어 있는지 여부는 확실하지 않습니다. 내 의심은 그들이하지 않는다는 것이다.Linq 2 공유 호스트의 SQL

NewsID   uniqueidentifier 
Title   nvarchar(250) 
Introduction nvarchar(1000) 
Article   ntext 
DateEntered  datetime (default getdate()) 
IsPublic  bit (default true) 

내 목표는이 테이블에서 3 개 개의 가장 최근의 레코드를 표시하는 것입니다

나는 다음과 같은 구조를 가지고 간단한 News 테이블이 있습니다. 나는 처음에 D &D 방법 (나는 알고있다)을 알고 linq 데이터 소스를 만들었고 내가 원하는 방식으로 결과를 제한 할 방법을 찾을 수 없었다. 그래서 그것을 제거하고 다음을 썼다 :

var dc = new NewsDataContext(); 
var news = from a in dc.News 
      where a.IsPublic == true 
      orderby a.DateEntered descending 
      select new { a.NewsID, a.Introduction }; 
lstNews.DataSource = news.Take(3); 
lstNews.DataBind(); 

내 로컬 컴퓨터에서 완벽하게 작동했습니다.

.Read_<>f__AnonymousType0`2 
(System.Data.Linq.SqlClient.Implementation.ObjectMaterializer`1<System.Data.SqlClient.SqlDataReader>) 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.MethodAccessException: 
.Read_<>f__AnonymousType0`2 
(System.Data.Linq.SqlClient.Implementation.ObjectMaterializer`1<System.Data.SqlClient.SqlDataReader>) 

내가 구글에서 오류를 검색하려고했으나 성공하지 만난 : 내가 공유 호스트에 모든 것을 업로드 할 때

그러나, 나는 다음과 같은 오류를 받았다. 그런 다음 여러 가지 조합의 where/orderby 매개 변수를 제거하고 단일 쿼리로 내 쿼리를 제한하고 제거하는 등 상상할 수있는 모든 방식으로 내 쿼리를 수정하려고 시도했습니다. 명령을 가져옵니다. "빠른"수정이, 그렇다면

  1. 은 다른 사람이이 발생하여 수 :

    내 질문 그러므로 3 개 부분으로 제공?

  2. 행을 제한하기 위해 데이터 소스를 사용하는 방법이 있습니까?
  3. 이 때

답변

2

System.MethodAccessException이 프레임 워크에 의해 발생합니다 공유 호스트가 직접 이메일을 보내는 짧은 실행 (I 짓을하는과 답변을 기다리고 있어요) 프레임 워크의 버전을 확인하는 몇 가지 방법이 있나요 어셈블리가 누락되었거나 참조 중 하나가 잘못된 버전입니다.

내가 할 첫 번째 일은 공유 호스팅 제공 업체 GAC 대신 BIN의 LINQ 어셈블리에 코드를 업로드하고 참조하는 것입니다.