2011-12-27 2 views
1

Я видел несколько сообщений, в которых упоминается xmlserializer, вызываемый во время выполнения в .Net.Как избежать вызова csc.exe из среды выполнения в sharepoint 2010

У меня есть веб-часть sharepoint, которая вызывает веб-сервис для извлечения данных, а затем должна отображать эти данные в веб-части. Но я получаю эту ошибку: System.Runtime.InteropServices.ExternalException: не удается выполнить программу. Выполняется команда: «C: \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 \ csc.exe"/noconfig/fullpaths @ "C: \ Users \ my_deploy_spFarm_user \ AppData \ Local \ Temp \ OICE_356C17F3-2ED2-423C- 8BBE-CA5C05740FD7.0 \ eelwfhnn.cmdline

Теперь сообщения, которые я прочитал здесь, указывают на то, что проблема заключается в том, что компилятор пытается создать сборку сериализации XML «на лету», но не имеет для этого права .

Я видел некоторые предложения по использованию событий после сборки для создания этой сборки XML-сборки во время компиляции. Однако я не уверен, как это сделать, а также я не уверен, получится ли это assemply включены в пакет .wsp?

ответ

1

Я бы хорошо посмотрел, действительно ли вам нужен полный, автоматически сгенерированный сериализатор, или просто хотите испустить/проанализировать некоторый относительно простой XML - если последний, вы решите эту проблему, не используя который нуждается в сгенерированном коде, т. е. напрямую использовать XmlReader/XmlWriter.

+0

Поскольку это кажется более простым выбором, я закончил переписывание веб-сервиса и использовал простой webrequest/webresponse для получения необходимой информации. Если бы не ограничения времени на эту задачу, я бы исследовал, как сделать предварительную компиляцию сериализации, вместо этого, чтобы эта ошибка исчезла. – Andras

0

This link имеет базовую команду для создания предварительно скомпилированных сериализаторов.

+0

Ссылка, предоставленная вами, дает представление о команде sgen.exe, но я все еще сомневаюсь, как ее использовать в событиях после компиляции проекта и как я буду писать такую ​​команду ... – Andras

+0

Post-build: sgen.exe $ (TargetPath) –

+1

Путь MSBuild Task (событие без сборки) вызова SGen для генерации сборки {AssemblyName} .Serilizers.dll. http://stackoverflow.com/questions/134224/generating-an-xml-serialization-assembly-as-part-of-my-build –

Смежные вопросы