Я работаю над сервисом WCF. Интерфейс и реализация службы WCF находятся в отдельных проектах. Существует также проект службы Windows для размещения службы WCF.
Одной из вещей, которую должна сделать реализация службы WCF, является обращение к нескольким внешним (SOAP) веб-сервисы. Как мы обычно структурируем это, мы создаем отдельный проект библиотеки классов для службы (служб) SOAP; мы создадим веб-ссылку и фабричный/вспомогательный метод в библиотеке классов.
Вышеупомянутая деталь может или не может иметь отношение к реальной проблеме. Что я получаю сообщение об ошибке при создании проекта реализации службы WCF (где X является одной из сборок оболочки службы SOAP):
ссылочная сборка "X" не имеет строгого имени
Но проект реализации службы WCF не должен быть подписан (как и проект интерфейса). И на данный момент на него ссылаются только две вещи: проект службы Windows и проект модульного тестирования, и ни один из них также не подписан.
Реализация WCF также ссылается на другие (ранее существовавшие) проекты-оболочки веб-сервисов, но жалуется только на эти два. Я открыл существующий и новый файл проекта в текстовом редакторе рядом... И я вижу существенные различия.
Я также проверил, импортирует ли какой-либо из проектов параметр, требующий его подписи, как описано в вопросе о переполнении стека Удалить подпись из сборки. Похоже, это не так.
Я пытался использовать AutoMapper — 1.1, так как мы все еще на .NET 3.5 — в моей реализации WCF. Это подписанная сборка, поэтому я вижу, где у нее может быть проблема, отражающая мой код и оболочки службы SOAP. Но мне кажется, что это будет проблема времени выполнения, а не времени сборки. Но поскольку я подозревал, что это может быть как минимум способствующий фактор, я удалил AutoMapper и зависимый код, но все равно получаю ту же ошибку.
Я исследовал вопрос, большая часть результатов поиска состоит из инструкций о том, как подписывать (возможно, сторонние) сборки.
Я попытался удалить и повторно добавить ссылки, перезапустил Visual Studio и свой компьютер.
Visual Studio 2010 / .NET 3.5 в 64-разрядной версии Windows 7.
Я уверен, что упускаю что-то довольно очевидное... Я просто не могу понять, что.