Почему Visual Studio 2005 не генерирует параметр сериализации, когда я устанавливаю для параметра проекта «Создать сборку сериализации» значение «Вкл.»?





Оказывается, Dev Studio учитывает этот параметр только для веб-служб.
Для не веб-сервисов вы можете заставить это работать, добавив цель AfterBuild в файл проекта:
<Target Name = "AfterBuild" DependsOnTargets = "AssignTargetPaths;Compile;ResolveKeySource" Inputs = "$(MSBuildAllProjects);@(IntermediateAssembly)" Outputs = "$(OutputPath)$(_SGenDllName)">
<SGen BuildAssemblyName = "$(TargetFileName)" BuildAssemblyPath = "$(OutputPath)" References = "@(ReferencePath)" ShouldGenerateSerializer = "true" UseProxyTypes = "false" KeyContainer = "$(KeyContainerName)" KeyFile = "$(KeyOriginatorFile)" DelaySign = "$(DelaySign)" ToolPath = "$(SGenToolPath)">
<Output TaskParameter = "SerializationAssembly" ItemName = "SerializationAssembly" />
</SGen>
</Target>
Смотрите также:
Это можно сделать вручную с помощью sgen.exe.
+1 за эту помощь, Адам! В качестве дополнительного вопроса: считается ли добавление задачи SGen в проект лучшей или худшей практикой? Я надеюсь, что это повысит производительность моего приложения.