Тестовый клиент WCF: не удалось добавить службу.Метаданные службы могут быть недоступны.Убедитесь, что ваш сервис работает и предоставляет метаданные - PullRequest
4 голосов
/ 25 октября 2011

В настоящее время я пытаюсь заставить работать пример структуры синхронизации: образец

Решение компилируется без каких-либо ошибок или предупреждений.

Но когда я нажимаю F5, тестовый клиент WCF запускается и выдает следующую ошибку.

Local \ Temp \ Test Client Проекты \ 10.0 \ 5b6aab8a-6629-4a12-87c2-e9e75ba9c1e4 \ Client.cs (379,13): ошибка CS0246: не удалось найти тип или имя пространства имен 'схема' (вам не хватает директивы using или ссылки на сборку?)

Ниже приведен код из Client.cs, на который ссылается вышеуказанная ошибка

/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("svcutil", "4.0.30319.1")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.datacontract.org/2004/07/Microsoft.Synchronization")]
public partial class SyncIdFormatGroup
{
    private schema schemaField;
    private System.Xml.XmlElement anyField;

    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute(Namespace="http://www.w3.org/2001/XMLSchema", Order=0)]
    public schema schema
    {
        get { return this.schemaField; }
        set { this.schemaField = value; }
    }

    /// <remarks/>
    [System.Xml.Serialization.XmlAnyElementAttribute(Order=1)]
    public System.Xml.XmlElement Any
    {
        get { return this.anyField; }
        set { this.anyField = value; }
    }
}

Было бы здорово, если бы кто-нибудь помог мне с этой проблемой.

Ответы [ 3 ]

3 голосов
/ 28 октября 2011

Нашел решение Хорошо, потратив много времени, я его взломал. По какой-то причине, если я запускаю образец как консольное приложение, оно просто работает нормально Но в тот момент, когда я использовал WCFTestClient, я получал ошибки. Если я уберу [ServiceKnownType(typeof(SyncIdFormatGroup))] из договора, он будет работать в WCFTestClient. Надеюсь, это кому-нибудь поможет.

2 голосов
/ 25 октября 2011

Включили ли вы конечную точку mex (обмен метаданными) в вашем сервисе?

<endpoint 
      address="mex" 
      binding="mexHttpBinding" 
      contract="IMetadataExchange"/>
0 голосов
/ 03 апреля 2013

Прочтите примечание в конце страницы: Примечание. Если вы используете Visual Studio 2010 для компиляции этих примеров, вам сначала необходимо удалить ссылки на сборки Sync Framework, а затем повторно добавить ссылки на сборки в проекты.В противном случае вы увидите ошибки компиляции «тип или имя пространства имен не найдены».http://code.msdn.microsoft.com/Database-Sync-SQL-Server-7e88adab#content или http://code.msdn.microsoft.com/Database-SyncSQL-Server-e97d1208

...