2013-09-02 2 views
1

Я создал собственный сериализатор классов для единственного класса, содержащегося в 'VcdcClassStructure.dll', используя sgen в соответствии с документацией. Документы в настоящее время утверждают, что все, что мне нужно сделать, этоОтсутствует ссылка на сборку

  1. Добавить assembaly ссылки как «VcdcClassStructure.dll» и sgen сгенерированных «VcdcClassStructure.XmlSerializers.dll».

  2. Добавить ссылки на пространство имен, которое содержит только что сгенерированные классы сериализации через

    с использованием VcdcClassStructure; использованием Microsoft.Xml.Serialization.GeneratedAssembly; `

(Я подтвердил, что пространство имен являются правильными с помощью DotPeek).

я тогда изменил код из

XmlSerializer serializer = new XmlSerializer(typeof(message)); 
serializer.Serialize(writer, vcdMsg); 

в

messageSerializer serializer = new messageSerializer(); 
serializer.Serialize(writer, vcdMsg); 

но на компиляции я получаю

Тип или пространство имен имя 'VcdcClassStructure' не может быть найден (вам не хватает директивы использования или ссылки на сборку?)

и

Тип или пространство имен имя «Xml» не существует в пространстве имен «Microsoft» (пропущена ссылка на сборку?)

У меня есть ссылки на соответствующие узлы и добавлен код using для пространства имен. Почему компилятор жалуется на эти ссылки?

Спасибо за ваше время.


Редактировать. Чтобы доказать, что я не пропустил ни один из вышеперечисленных шагов.

enter image description here

+0

Пожалуйста, переключите «2 предупреждения», чтобы мы могли их увидеть. Надеюсь, они будут показаны. –

+0

Ах, черт возьми. Так жаль тратить свое время. Они оскорбляли. Сгенерированные библиотеки DLL нацелены на более высокую платформу .NET, чем приложение ... Глупость еще раз у меня. Большое спасибо за вашу помощь ... – MoonKnight

ответ

1

Я проверил, и описанный процесс работает корректно. Поэтому я должен был предположить, что вы сделали ошибку в шагах. Он отлично работает (примечание: тип я создал в библиотеке был SomeType, отсюда название):

enter image description here

Вы можете попытаться идти через шаги снова.

+0

Марк, спасибо за ответ.Я проверил это полностью, и я могу заверить вас, что описанные выше шаги действительно являются тем, что я сделал. Одна сложность, которую я считал не относящейся к делу, заключалась в том, что я добавляю эти ссылки в библиотеку классов, но это ни в коем случае не имеет никакого значения. Опять же, спасибо за ваше время. – MoonKnight

+0

Я добавил тот же снимок экрана, что и ваш, чтобы показать, что я ничего не пропустил. У вас есть идеи, что может быть неправильным? – MoonKnight

+0

Примечание: на экране не видно, но в моих ссылках есть все * ссылки на файлы *, а не * проекты * ссылки. Во многих отношениях, как только вы создали пользовательский сериализатор, вы хотите ** не строить VcscClassStructure снова ** - я бы порекомендовал даже не иметь его в решении. Возможно, это потому, что вы используете ссылку на проект? –

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