Сборка XML-сериализации для не-веб-проектов - PullRequest
2 голосов
/ 19 марта 2012

Я пытаюсь решить известную проблему автоматически генерируемых сборок сериализации в VS 2010, как VB.NET, так и C #. Параметр «Создать сборки сериализации» в настройках проекта ничего не делает для не веб-проектов (см. http://blog.devstone.com/aaron/archive/2008/02/07/2778.aspx и др.). Таким образом, вызовы к сериализаторам генерируют файловые исключения ввода / вывода, которые очень неудачны, и для которых нет никакого лечения. Предложенный выше метод не работает с VS2010, а SGEN по-прежнему работает с включенным / proxytypes.

1 Ответ

4 голосов
/ 06 апреля 2012

Решение:

Установите "Создать сборки сериализации" в настройках проекта на ON как обычно, , затем добавьте этот XML в файл .proj:

<PropertyGroup>
    <SGenUseProxyTypes>false</SGenUseProxyTypes>
    <SGenPlatformTarget>$(Platform)</SGenPlatformTarget>
</PropertyGroup>

Первая строка отключает переключатель зла / прокси-типов. Вторая строка обязательна, если выбранная платформа отличается от AnyCPU. Если он опущен, то сборка сериализации создается с использованием AnyCPU и не сможет привязаться к основной сборке, которая может быть x86 или x64.

...