Почему Machine.Specifications рекомендует использовать беззнаковые двоичные файлы?

На странице Machine.Specifications github я могу скачать как подписанные, так и неподписанные двоичные файлы. , и беззнаковые двоичные файлы рекомендуются.

В моем проекте .net все сборки должны быть подписаны ключом. Это внешнее требование.

Также я использую атрибут InternalsVisibleTo, чтобы предоставить доступ к сборке модульного теста для внутренних участников всех других сборок. Если вы используете атрибут InternalsVisibleTo в подписанной сборке, сборка, которая будет иметь доступ к внутренним компонентам, также должна быть подписана.

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

Я нашел подписанные версии Machine.Specifications на Nuget, но я хочу также использовать Machine.Fakes в качестве контейнера для автозапуска и не могу найти подписанную версию Machine.Fakes.

Поэтому я не могу использовать Machine.Fakes в своем проекте.

Я просто не могу понять, как я могу следовать "рекомендованному пути" в моем случае? Наверное, стоит добавить условную компиляцию основных сборок - неподписанные версии для модульного тестирования и подписанные версии для выпуска?


person Maxim Pashuk    schedule 22.08.2013    source источник


Ответы (2)


Я вижу три варианта:

Подписанной версии Machine.Fakes нет, потому что она пока никому не нужна. Я видел проблему, которую вы подали, но у меня не было времени взгляните на это еще. Так что есть другой вариант: подождите, пока я создам подписанную версию. :-) Однако я еще не уверен, буду ли я это делать и как.

person Simon Hohenadl    schedule 23.08.2013
comment
Вас хорошо понимаю. Я предполагаю создать набор неподписанных сборок только для модульного тестирования. Это решит проблему. - person Maxim Pashuk; 26.08.2013

Если вы используете подписанную версию, вам также понадобится подписанный бегун ReSharper. И обе версии должны совпадать.

С неподписанными версиями можно использовать другую версию в ReSharper и вашем проекте при условии, что внутренние API совместимы.

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

person Alexander Groß    schedule 23.08.2013