В нашем файле MSBuild для нашего проекта мы сгенерировали сборку, содержащую классы, используемые при сериализации xml. Классы создаются с помощью xsd.exe.
Мы используем следующую конфигурацию задачи SGen.
<SGen ToolPath="$(SdkPath)"
ShouldGenerateSerializer="true"
UseProxyTypes="false"
BuildAssemblyName="AssemblyName.dll"
BuildAssemblyPath="Outputs"
ContinueOnError="false" />
Время от времени возникает следующая ошибка при выполнении сценария msbuild на нашем сервере сборки. Первоначально эта ошибка могла возникать однажды из каждых 50 сборок (CI), в последнее время частота увеличивалась, и теперь она возникает, может быть, 5-6 из каждых 10 сборок.
Размер сборки, которая подвергается Sgenned, составляет около 410 КБ (около 35 000 строк сгенерированного кода), а при успешной сборке сериализации - около 1,7 М.
При сбое вывод выглядит следующим образом:
Unhandled Exception: System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
E:\Path_ToBuild_Workspace\SolutionBuild.MSBuild(74,5): error MSB6006: "sgen.exe" exited with code -1073741819.
Мы используем Hudson для управления нашими сборками, поэтому Hudson.exe удаляет процессы msbuild и sgen.
На веб-сайтах не так много информации об этом типе ошибок от SGen. Конечно, ничего конкретного.