Ошибка при использовании веб-службы из приложения Winform - «Невозможно выполнить программу ...» - PullRequest
1 голос
/ 15 сентября 2008

У меня есть приложение winform, которое вызывает веб-сервис для проверки обновлений. Это работает в dev и также везде, где я пробовал, только не на установленной копии на моем компьютере (что в dev совпадает).

Ошибка:

Невозможно выполнить программу. Была выполнена команда "C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ csc.exe" / noconfig / fullpaths @ "C: \ Documents and Settings \ Giovanni.DOUBLE-AFSSZ043 \ Локальные настройки \ Temp \ squ8oock .cmdline».

Брандмауэр отключен, и я искал "C: \ Documents and Settings \ Giovanni.DOUBLE-AFSSZ043 \ Local Settings \ Temp \ squ8oock.cmdline", и его там нет. Обратите внимание, что каждый раз, когда я пытаюсь использовать веб-сервис, файл «.cmdline» отличается, например, во второй раз, когда я запускал его, он был «dae8rgen.cmdline». Неважно, какое у него имя, я никогда не найду файл.

Есть предложения?

Ответы [ 4 ]

5 голосов
/ 14 августа 2009

У меня была такая же проблема, и я обнаружил, что у меня закончилась какая-то память.

После проверки Redhats «ANTS Memory Profiler» я обнаружил, что у меня большой объем памяти в COM + корней GC. Быстрый Google, и я оказался здесь: msdn XmlSerializers

Затем я прочитал следующее:

Если вы используете какой-либо другой конструкторы, несколько версий одна и та же сборка генерируется и никогда выгружен, что приводит к памяти утечка и низкая производительность. Самый легкий Решение заключается в использовании одного из ранее упоминалось два конструктора. В противном случае вы должны кэшировать сборки в Hashtable ...

После создания хеш-таблицы для сериализаторов моя проблема утечки памяти (и низкой производительности) и полученного сообщения об ошибке, как у вас, исчезла.

2 голосов
/ 15 сентября 2008

Файл .cmdline - это автоматически сгенерированный файл, созданный .NET Framework. Приложение пытается в реальном времени скомпилировать сериализатор XML, используемый для анализа данных из веб-службы.

Вы проверили, что можете запустить "csc.exe" из окна командной строки? Даже просто набрав "C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ csc.exe /?" должен получить список параметров компилятора (или выдает ошибку, если у вас нет прав на ее выполнение).

Под какой учетной записью вы запускаете эту учетную запись и имеет ли она права на запуск .exe-файлов в каталоге Windows? Точно так же я знаю, что вы сказали, что это происходит с установленной копией на вашем компьютере, но возможно ли, что она выполняется из общего сетевого ресурса и получает ограниченные разрешения Code Access Security, что помешает запуску локальных исполняемых файлов?

Для справки приведена статья в КБ, в которой показана похожая ошибка, которая может возникнуть в ASP.NET, если у учетной записи пользователя недостаточно прав. http://support.microsoft.com/kb/315904

1 голос
/ 19 октября 2011

Я решил ту же проблему с ISSReset

0 голосов
/ 29 ноября 2017

Если применяется AppLocker, пожалуйста, разрешите ниже (добавить как исключение пути)

c:\windows\MICROSOFT.NET\FRAMEWORK\V2.0.50727\CSC.EXE c:\windows\MICROSOFT.NET\FRAMEWORK\V2.0.50727\CVTRES.EXE

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