2011-12-14 11 views
1

these instructions을 따르려고합니다. CodePlex 소스와 대조적으로 NuGet package을 사용 중임을 언급해야합니다.SimpleLucene이 인터페이스 멤버를 구현할 수 없습니다.

나는이 두 오류가되게 해요 :

오류 1
'LuceneTest.Models.ProductIndexDefinition'인터페이스 멤버 'SimpleLucene.IIndexDefinition.GetIndex (LuceneTest.Models.Product를)'구현하지 않습니다. 일치하는 반환 형식이 'Lucene.Net.Index.Term'이 아니므로 'LuceneTest.Models.ProductIndexDefinition.GetIndex (LuceneTest.Models.Product)'는 'SimpleLucene.IIndexDefinition.GetIndex (LuceneTest.Models.Product)'를 구현할 수 없습니다. '.

오류 2
'LuceneTest.Models.ProductIndexDefinition'인터페이스 멤버 'SimpleLucene.IIndexDefinition.Convert (LuceneTest.Models.Product를)'구현하지 않습니다. 일치하는 반환 형식이 'Lucene.Net.Documents.Document'가 아니기 때문에 'LuceneTest.Models.ProductIndexDefinition.Convert (LuceneTest.Models.Product)'는 'SimpleLucene.IIndexDefinition.Convert (LuceneTest.Models.Product)'를 구현할 수 없습니다. '. 이 코드에서

: 나는 개체 탐색기에서 IIndexDefinition 볼 때

using System.Web; 
using SimpleLucene; 
using Lucene.Net.Documents; 
using Lucene.Net.Index; 

namespace LuceneTest.Models 
{ 
    public class Product 
    { 
     public int Id { get; set; } 
     public string Name { get; set; } 
    } 

    public class ProductIndexDefinition : IIndexDefinition<Product> 
    { 
     public Document Convert(Product p) 
     { 
      var document = new Document(); 
      document.Add(new Field("id", p.Id.ToString(), Field.Store.YES, Field.Index.NOT_ANALYZED)); 
      document.Add(new Field("name", p.Name, Field.Store.YES, Field.Index.ANALYZED)); 
      return document; 
     } 

     public Term GetIndex(Product p) 
     { 
      return new Term("id", p.Id.ToString()); 
     } 
    } 
} 

는 다음과 같습니다

public interface IIndexDefinition<T> 
    where T : class 
{ 
    Lucene.Net.Documents.Document Convert(T entity); 
    Lucene.Net.Index.Term GetIndex(T entity); 
} 

은 무슨 일인지 이해하지 않습니다. 오류 유형은 일치하지 않기 때문에 클래스가 인터페이스를 구현하고 있지 않다는 오류가 발생하고 있지만 어디서 어떻게 수정해야하는지 알 수 없습니다.

+0

내 간단한 단순한 4.0 콘솔 프로젝트에서 같은 문제가 발생했습니다. 두 가지 종속성이 프레임 워크에 있습니다. 나는 어쩌면 문서와 용어가 서로 다른 버전에서 충돌한다고 생각합니다. 그러나 여전히 풀 수는 없습니다. 'Lucene (≥ 2.9.2.2)'. 'Lucene.net (≥ 2.9.4.1)'. –

답변

0

문제는 Nuget 패키지가 유효한 패키지가 아닙니다. 최신 독소를 다운로드하십시오. 2.9.4.2에서 작동하는 테스트를 볼 수 있습니다. 이 dll로 2.9.4.1 lucene.net을 대체하십시오.

+0

프로젝트가 더 이상 지원되지 않거나 문제가 해결되지 않은 이유는 무엇입니까? 아십니까? – chobo2

관련 문제