2013-05-28 3 views
8

У меня есть база кода, которая требует сильных имен.Как использовать ServiceStack с сильно именованного хоста?

Сначала я подумал, что это будет легкое исправление, поскольку я просто назначил сильные имена в сборках ServiceStack, в которых я нуждался. Это не удалось из-за взаимозависимостей в ServiceStack на слабых именованных сборках. Затем я убрал пулю и перекомпилировал ServiceStack с помощью моего ключевого файла - что было нежелательно, поскольку я не видел средств, с помощью которых это можно было бы сделать в одном месте и должно было добавить его в каждый проект.

Даже тогда решение не удалось построить с тестами в связи с этим:

[assembly: InternalsVisibleTo("ServiceStack.Common.Tests")] 

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

Как мне подойти к этой проблеме? Мне не нравится, где это происходит ...

+1

Я просто прошел через тот же процесс, что и вы, но у меня не было никаких ошибок. Пока все проекты и все зависимости сильно подписаны, вы не должны получать никаких ошибок. У вас есть более подробная информация об ошибке, которую вы получаете? – Estyn

ответ

1

Это может не разрешить вашу проблему, так как это не на 100% надежный (хотя, если все работает нормально на одном хосте, это будет работать на всех хостах - так что если вы иметь хорошее покрытие для тестирования, вы можете хотя бы убедиться, что он отлично работает).

LibZ (отказ от ответственности: LibZ.Author = Me) имеет функцию sign-and-fix, которая находит неподписанные сборки, обходит дерево сборки снизу вверх и заменяет все ссылки на сборку на эти «новые» подписанные сборки.

Ссылка: https://libz.codeplex.com/wikipage?title=Signing%20assemblies&referringTitle=Documentation

1

Могли бы вы только подписали версию, которая доступна в NuGet? ServiceStack.Signed

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