У меня проблема с веб-справкой SOAP, сгенерированной Visual Studio 2005 (.NET Framework v2.0.50727.42) - она отлично работает в конфигурации сборки Debug (и имеет несколько месяцев), но теперь Я хочу запустить и скомпилировать, используя конфигурацию выпуска, она перестала работать.
Исключения возникают во время выполнения всякий раз, когда я вызываю метод в веб-справочнике. Наиболее распространенное исключение:
System.InvalidOperationException: There was an error generating the XML document. ---> System.ArgumentException: Item has already been added. Key in dictionary: 'MayriseWebServices.RefuseService.PremiseSummaryStructure' Key being added: 'MayriseWebServices.RefuseService.PremiseSummaryStructure'
Язык проекта и сгенерированного веб-справочника - VB.NET, а не C #. Поскольку сгенерированный код Reference.vb на самом деле не меняется, только тип сборки, я ничего там не могу найти и, очевидно, не могу отладить сборку Release.
Я заметил, что сборка Release отделяет сборку * .XmlSerializers.dll от основной сборки. Есть ли известные проблемы с этим?
Я бы не стал использовать Debug-сборку по понятным причинам. Может быть, мне стоит немного почитать о CodeDOM, я хотел это сделать!
Я должен упомянуть, что нашел пост с причинами, по которым сборка Release будет работать по-другому , но, похоже, он сфокусирован на C ++.
Спасибо за любую помощь, которую вы можете оказать.
ОБНОВЛЕНИЕ: Третье предложение по отключению сборок сериализации устранило проблему. Я изменил параметр «Генерировать сборки сериализации» с «Авто» на «Выкл» в дополнительных параметрах компиляции, и мои тесты теперь проходят. Я не знал об этой настройке.
Я не уверен, в чем заключается основная проблема со сборками сериализации. Я предоставлю обновление, если у меня будет возможность отладить сборку Release, используя ваш совет во втором предложении.