Произошла ошибка при сериализации тела сообщения - PullRequest
2 голосов
/ 05 февраля 2012

Когда я запускаю на своем компьютере в IDE VS2010 или в виде EXE, это работает.Но когда я запускаю другой блок через планировщик, я получаю сообщение об ошибке:

There was an error in serializing body of message MyClassSoapIn: 'Unable to generate a temporary class (result=1).
error CS2001: Source file 'C:\WINDOWS\TEMP\xvjzdxjt.0.cs' could not be found
error CS2008: No inputs specified

Может ли это быть проблемой с разрешениями?Это использует временную папку.Это будет проблемой?

1 Ответ

2 голосов
/ 10 апреля 2012

Итак, у вас, вероятно, проблема, похожая на ту, что была у меня ...

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

Временный каталог определяется переменными среды TEMP (и иногда TMP).

WindowsKey + Pause > Advanced System Settings > Environment Variables

Обратите внимание, что есть две категории переменных среды, Пользователь и Система.

Вы, вероятно, удалили переменные USER, оставив только переменные SYSTEM.

В результате VS ищет переменную env TEMP, не может найти никакого значения для переменной USER и использует вместо этого переменную SYSTEM. Проблема в том, что VS не имеет доступа для записи в местоположение, указанное в SYSTEM TEMP var.

Итак, чтобы исправить, просто заново создайте и определите переменную USER TEMP, TMP env для использования правильного значения «% USERPROFILE% \ AppData \ Local \ Temp», чтобы VS теперь находил и использовал правильное местоположение где у него есть права на запись в файл.

В качестве альтернативы вы можете просто изменить местоположение, на которое TEMP / TMP указывает на место, где вам гарантировано, что права не будут для вас проблемой.

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