Обновление веб-ссылки дает проблемы с различными версиями DLL - PullRequest
0 голосов
/ 17 ноября 2009

В моем приложении я использую некоторые DLL, скажем, library.dll, версия 1.0 В моем веб-сервисе я также использую library.dll, но версия 2.0

Когда я делаю обновление веб-ссылки, классы внутри dll также генерируются в веб-ссылке.

И это создает проблемы, потому что в моем приложении классы, которые определены в dll, теперь также доступны в справочнике, и существует несоответствие.

Как я могу решить это? Мне нужно иметь возможность указать веб-службе игнорировать dll-код при обновлении веб-ссылки тем или иным способом.

Я использую Visual Studio 2008.

Ответы [ 2 ]

0 голосов
/ 17 ноября 2009

хорошо, я сам нашел решение.

Расширение должно быть развернуто в GAC, и файл machine.config должен быть изменен.

как то так:

<system.xml.serialization>
    <schemaImporterExtensions>
      <add name="SchemaImporterExtensions"
           type="Library.DesignTime.SchemaImporterExtension,
                 Library.Framework.DesignTime" />
    </schemaImporterExtensions>
</system.xml.serialization>
0 голосов
/ 17 ноября 2009

Вы можете использовать переключатель reference при создании прокси клиента:

svcutil.exe /reference:c:\library.dll http://example.com/service.svc?wsdl

Это будет искать классы в library.dll, которые одинаковы в WSDL, и не будет воссоздавать их в прокси (под теми же классами я имею в виду то же пространство имен и имя типа).

...