Runtime CS0234 Ошибка доступа к веб-службе SOAP в веб-приложении VS2010 - PullRequest
0 голосов
/ 12 октября 2011

У меня есть веб-приложение ASP.NET 4, которое ссылается на веб-службу SOAP.У меня есть (старомодная) веб-ссылка на этот веб-сервис в моем проекте.Когда я компилирую / собираю в IDE, у меня не возникает проблем, и Intellisense и Class Viewer все показывают мне, что VS знает, что к чему и где его найти.

Однако, когда я запускаю решение, я получаю этоошибка:

enter image description here

Старая ошибка CS0234 (тип или пространство имен <<>> не существует ...).Intellisense просит отличаться.

Моя сборка веб-приложения называется NovaWeb, а моя веб-ссылка называется WS3.Я вижу, что мой файл Reference.cs содержит следующее:

namespace NovaWeb.WS3 {

Некоторое время назад все это прекрасно работало, но я, видимо, что-то изменил, и теперь все сломано.Я попытался очистить все файлы в папке / bin и все временные файлы ASP.NET в моей папке appdata.

У кого-нибудь есть предложения по устранению этой проблемы?


РЕДАКТИРОВАТЬ: Моя работа вокруг ...

У меня все еще есть хлопотный проект на случай, если кто-то предложит ответ.Я могу попробовать проверить, существует ли решение.Между тем, я не мог дождаться реального разрешения, поэтому я принял решение.

Я начал с нуля с совершенно новыми проектами веб-приложений VS2010 / .NET 4.и перемещал мои файлы исходного кода в новые проекты по частям.Существует несколько существенных различий между решением с ошибками (.sln) и решением для обходного пути.Это:

  • Обходной путь имеет одно решение (.sln) для каждого проекта.Решение проблемы имело два веб-приложения и три проекта библиотеки данных EF4 в одном .sln.
  • Обходное решение было запущено из шаблона зеленого поля (пустое веб-приложение ASP.NET) в VS2010 и предназначено для таргетинга.NET 4.0 с самого начала.Решение проблемы состояло из частей, которые зародились в VS2008 и изначально предназначались для .NET 2.0.
  • Обходной проект полностью исключает любые намеки на папку App_Code.Решение проблемы имело проект с папкой App_Code, содержащей несколько служебных классов.Я не уверен, что это имеет малейшее значение, но я наткнулся на хотя бы одну публикацию, в которой предполагалось, что компилятор может быть смущен папкой с кодом App_Code в проекте веб-приложения.

"Я сдался и начал заново "не так уж много для решения проблемы, но я решил оставить его здесь вместе с этим вопросом - на случай, если кто-то решит проблему, или если это вообще поможетчеловек с той же проблемой.

1 Ответ

0 голосов
/ 13 ноября 2011

Обычно я не отвечаю на свои вопросы.Однако этот вопрос был открыт без ответов более месяца.У него было приличное количество просмотров, что заставляет меня задуматься, не могут ли другие испытать такую ​​же проблему.Поскольку, наконец, я нашел решение, с помощью прямой поддержки от Microsoft, я решил документировать свое решение на тот случай, если оно поможет следующему человеку наткнуться на эту ошибку.


Так что этоОказывается, что веб-сервисы - красная сельдь с этой проблемой.Настоящая суть проблемы - ошибка времени выполнения CS0234, относящаяся к ссылочному типу.Это также может проявиться как ошибка CS0103 во время выполнения, поскольку я обнаружил трудный путь.

Я упомянул в своем вопросе, что нашел обходной путь.Обходной путь в конце концов перестал работать, и я был не в курсе этого проекта.Я связался с Microsoft для поддержки, и после четырех дней с моим исходным кодом они пришли ко мне с решением.

Проблема была связана с моей конфигурацией компилятора для целевой платформы .

Из-за некоторых мучений, которые я испытывал в прошлом из-за развертывания приложений для сборки на настольном компьютере, я привык менять конфигурацию сборки с Any Platform на x86.

Это может испортить компиляцию для веб-приложения ASP.NET.Это плохо пахнет, как ошибка Visual Studio для меня, но, тем не менее, решение моей ошибки во время выполнения было в свойствах решения (не свойства проекта) и выбрать Any Platform в качестве цели сборки.

Iнадеюсь, это спасет кого-то от обострения.Если у кого-нибудь есть разумное объяснение, почему это не ошибка VS или что происходит под прикрытием, мне было бы интересно услышать это, и я обещаю высказать вам за вашу проблему!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...