2013-08-26 3 views
0

Я просто не могу понять, как исправить это. Это произошло около недели назад, и я не знаю, какое изменение я сделал, возможно, вызвало это. Мы используем SVN и я откатить изменения, которые я сделал из возможных виновников этих ошибок, но я все еще получаю следующие ошибки, когда я создаю мой ASP.NET WebForms проект:<global namespace> содержит определение для __ в нескольких генерируемых кодом файлах

The namespace <global namespace> already contains a definition for 'TrxStatus' 
The namespace <global namespace> already contains a definition for 'MessageStatusType' 

Эти две ошибки повторяются 5 раз (10 ошибок), а исходные файлы - это код, созданный для загрузок веб-сервисов, которые мы имеем в проекте.

Имена файлов App_Code.34kjg234jh1.cs (сделанные, но вы получите идею) и в верхней части каждого из он говорит мне, где он генерируется из:

App_Code\App_WebReferences\SomeService\SomeWebService.wsdl 

Если я в .wsdl определение я считаю, что они делать все живут в том же пространстве имен, основанных от этой линии: (Примечание, я не .wsdl профессионала, так скажи мне, если я ошибаюсь)

<s:schema elementFormDefault="qualified" targetNamespace="http://www.thirdpartysite.com/Soa/Foundation/"> 
<s:import namespace="http://www.thirdpartysite.com/Soa/Foundation/MessageDefinition.xsd" /> 

этого это приложение, унаследованное от нашего предыдущего разработчика (его один разработчик магазин здесь, так что я обычно провожу в темноте), поэтому я не знаю, почему у нас около 7 разные веб-сервисы в приложении, все с этим определением пространства имен и ВСЕ с оскорбительными «TrxStatus» и «MessageStatusType» ».

Я не хочу менять пространства имен, потому что это правильное пространство имен (я считаю), но мне также нужен этот конфликт, чтобы уйти. Я не уверен, в каком направлении идти.

Я попытался пойти в один из .wsdl файлов и изменить TrxStatus к TrxStatus_Whatever но дал мне эту ошибку:

Unable to import binding 'MyWebServiceName' from namespace http://www.thirdpartysite.com/SOA/Foundation 

Другой возможный улика я получаю Тонна предупреждения от различных веб-служб, скажем примерно так:

The 'http://www.thirdpartysite.com/Soa/Foundation/MessageDefinition.xsd:SomeElementName' element is not declared. 

Любые предложения по возможным решениям по этому вопросу? В чем причина? Пожалуйста, не говорите мне, что мне нужно переписать все эти услуги ....

ответ

0

Я никоим образом не эксперт, на самом деле я очень мало ASP.NET & Услуги.

НО. Это звучит так, как будто есть противоречивые импортные (например, приемы), которые тянут типы с одинаковыми именами.

proj1: A.SomeType proj2: A.SomeType

Вы можете добавить ссылки на обоих проектов и играть просто отлично (я верю). Но сложность возникает, когда вы импортируете оба пространства имен, потому что имена типов конфликтуют.

Вы можете получить доступ к правильному типу с помощью глобального :: accessor.

Вы даже можете использовать глобальные :: в операторе using.

using A = global::[path to correct project and type here] 

Не уверен, если это будет много пользы для вас, но есть больше информации о глобальном :: здесь:

http://msdn.microsoft.com/en-us/library/c3ay4x3d.aspx