ResourceMap nicht gefunden " - Fehler bei der Referenzierung einer Ressource-Datei innerhalb einer portable class library

Das problem, das ich bin vor ist wie folgt:

Entwickelt ich eine portable class library zu Kapseln, eine service-Verbindung. Innerhalb dieser Klasse-Bibliothek gibt es ein Mittel.resw-Datei mit Zeichenfolgen. Diese Zeichenfolgen werden als nur durch Methoden der Klasse library (zum Beispiel zum überschreiben der ToString () - Methoden).

Als ich sagte, dies ist eine portable class library. Wenn ich darauf verweisen, wie eine dll, oder auch als Projekt innerhalb einer anderen Lösung, es wird gebaut und richtig kompiliert. Dann habe ich einen Anruf tätigen verwenden Sie eine Methode aus dieser Bibliothek, die in meiner Anwendung sagen

        ClientFacadeConnector connector = new ClientFacadeConnector();
        ICollection<SearchResult> results = null;
        string message = string.Empty;

        if (maxResults != -1) //Search with max Results
        {
            try
            {
                if (!contextQuery.Trim().Equals(string.Empty))
                {

                    results = await connector.GetConnected().SearchAsync(contextQuery, query, maxResults);
                    message = "Search with ContextQuery " + contextQuery + ", Query " + query + ", max results " + maxResults.ToString();
                }
                else
                {

                    results = await connector.GetConnected().SearchAsync(query, maxResults, true);
                    message = "...using normal Query search, Query " + query + ", max results " + maxResults.ToString();
                }
            }
            catch (IQserException ex)
            {
                message = ex.Message;
            }
        }


        if (results != null)
        {
            ICollection<LocalSearchResult> contentResults = new List<LocalSearchResult>();
            foreach (SearchResult s in results)
            {
                var q = s.ToString();
                var contentItem = await connector.GetConnected().GetContentAsync(s.ContentId);
                LocalSearchResult lContent = new LocalSearchResult(contentItem);
                lContent.Score = s.Score;
                lContent.Relevance = s.Relevance;
                lContent.MarkFullText(query);
                contentResults.Add(lContent);
            }

An dem Punkt, wo ich s nennen.ToString () - Methode, erhalte ich die Fehlermeldung "Ressourcen-Karte nicht gefunden".

Zu erklären, wo diese herkommt:

public static class AppResources
{
    private static ResourceLoader resourceLoader;

    static AppResources()
    {
        //Load local file Resources.resw by default
        resourceLoader = new ResourceLoader();            
    }

    public static string GetResources(string key)
    {
        if (string.IsNullOrEmpty(key))
            throw new ArgumentNullException("key");

        return resourceLoader.GetString(key);
    }

}

und in der überschriebenen ToString () - Methode der code, die wie folgt aussieht:

    public override string ToString()
    {
        StringBuilder buf = new StringBuilder(AppResources.GetResources("InstrSearchResultContent"));

        if (ContentId != -1)
        {
            buf.Append(AppResources.GetResources("StringContent") + " ID:" + ContentId.ToString() + " | ");
        }
        else
        {
            buf.Append(AppResources.GetResources("StringNo") + AppResources.GetResources("StringContent") + "ID" + " | ");
        }
        ...

Die Ressource-Datei aufgerufen wird, Ressourcen.resw und ist der Standard-resw-Datei, die ResourceLoader Anrufe, wenn kein anderer genannt wird.

Seltsam genug, wenn ich kopieren Sie die Ressource-Datei innerhalb der client-Anwendung, die lokal referenziert wird korrekt durch alle Aufrufe der Klassenbibliothek Ressource-Datei und alles funktioniert.

Dieser Klassenbibliothek soll ein SDK, wenn Sie fertig sind. Brauche ich zum verteilen der Ressource-Datei getrennt?

Solch ein problem habe ich noch nie erlebt mit normalen Class-Bibliotheken und resx-Dateien. Resw ist mir unheimlich..

InformationsquelleAutor Achilles P. | 2012-05-29

Schreibe einen Kommentar