Excepción RavenDB en la consulta - Método no encontrado: 'Void Raven.Abstractions.Data.IndexQuery.set_DefaultField(System.String)'

Obtengo la siguiente excepción durante el bucle foreach del modelo de actualización, ya que intenta enumerar los resultados obtenidos por la consulta. No he podido encontrar nada relacionado con este error en ningún otro lugar de Internet. ¿Alguien puede señalar lo que estoy haciendo mal?

System.MissingMethodException no se manejó

Mensaje=Método no encontrado: 'Void Raven.Abstractions.Data.IndexQuery.set_DefaultField(System.String)'. Fuente = Raven.Client.Lightweight

Rastreo de pila:

en Raven.Client.Document.AbstractDocumentQuery`2.GenerateIndexQuery(consulta de cadena)

en Raven.Client.Document.AbstractDocumentQuery2.InitializeQueryOperation(Action2 setOperationHeaders) en c:\Builds\RavenDB-Stable\Raven.Client.Lightweight\Document\AbstractDocumentQuery.cs:line 399

en Raven.Client.Document.AbstractDocumentQuery`2.InitSync() en c:\Builds\RavenDB-Stable\Raven.Client.Lightweight\Document\AbstractDocumentQuery.cs:línea 434

en Raven.Client.Document.AbstractDocumentQuery`2.get_QueryResult() en c:\Builds\RavenDB-Stable\Raven.Client.Lightweight\Document\AbstractDocumentQuery.cs:line 421

en Raven.Client.Linq.RavenQueryProviderProcessor`1.ExecuteQueryTProjection en c:\Builds\RavenDB-Stable\Raven.Client.Lightweight\Linq\RavenQueryProviderProcessor.cs:línea 1263

en Raven.Client.Linq.RavenQueryProviderProcessor`1.Execute(expresión de expresión) en c:\Builds\RavenDB-Stable\Raven.Client.Lightweight\Linq\RavenQueryProviderProcessor.cs:line 1244

en Raven.Client.Linq.RavenQueryProvider`1.Execute(Expression expression) en c:\Builds\RavenDB-Stable\Raven.Client.Lightweight\Linq\RavenQueryProvider.cs:line 138

en Raven.Client.Linq.RavenQueryProvider`1.System.Linq.IQueryProvider.Execute(Expression expression) en c:\Builds\RavenDB-Stable\Raven.Client.Lightweight\Linq\RavenQueryProvider.cs:line 195

en Raven.Client.Linq.RavenQueryInspector`1.GetEnumerator() en c:\Builds\RavenDB-Stable\Raven.Client.Lightweight\Linq\RavenQueryInspector.cs:line 97

en AdminPanel.RefreshModel() en C:\AdminPanel\AdminPanel.xaml.cs:línea 111

private void RefreshModel()
{
    MainModel.Movies.Clear();
    foreach (FriendlyName movie in App.Database.QueryAllMovies())
    {
        MainModel.Movies.Add(movie);
    }
}

public IEnumerable<FriendlyName> QueryAllMovies()
{
    using (var session = DocumentStore.OpenSession())
    {
        return session.Query<Movie, Movies_AsFriendlyName>().As<FriendlyName>();
    }
}

class Movies_AsFriendlyName : AbstractIndexCreationTask<Movie>
{
    public Movies_AsFriendlyName()
    {
        Map = movies => movies.Select(movie => new { Id = movie.Id, Name = movie.FileName });

        TransformResults = (database, movies) => movies.Select(movie => new { Id = movie.Id, Name = movie.FileName });
    }
}

public class FriendlyName
{
    public string Name { get; set; }
    public string Id { get; set; }

    public FriendlyName(string id, string name)
    {
        Id = id;
        Name = name;
    }

    public override string ToString()
    {
        return Name;
    }
}

preguntado el 01 de julio de 12 a las 04:07

1 Respuestas

Por lo general, cuando tiene algo como esto, compiló contra una versión, pero el dll que está tratando de usar es otro.

Apuesto a que si miras las versiones entre donde se ejecuta el programa y donde se compiló, son diferentes.

Respondido 01 Jul 12, 04:07

No estoy seguro de seguir. Trabajando en Visual Studio, limpio, construyo y luego ejecuto. ¿Te refieres a una versión diferente de Raven? Aquí está mi paquete.config para NuGet: - user779860

Lo siento, soy nuevo en la rareza de los comentarios de StackOverflow. Esto es lo que estaba tratando de decir arriba. En mi archivo NuGet packages.config, RavenDB usa 1.0.888, pero también hay versiones 1.0.960 de RavenDB.Embedded, RavenDB.Database y RavenDB.Client. Supongo que una cosa que ha cambiado entre cuando esto funcionó y cuando dejó de funcionar fue la introducción del paquete incrustado además de esas otras dependencias. ¿No lo hice bien? Estaba tratando de hacerlo para que un valor en App.config pudiera especificar si usar la instancia de raven integrada o del cliente. es posible? - user779860

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.