Безопасно ли строить проект с атрибутами PostSharp на компьютере без установленного PostSharp? - PullRequest
1 голос
/ 11 декабря 2011

Я установил PostSharp на мою машину, добавил PostSharp.dll в папку с зависимостями и создал атрибут аспекта, который работает правильно.Теперь я собираюсь проверить свои изменения.

Что произойдет на компьютере сборки или компьютерах моего коллеги, когда они получат последний код, но не установят PostSharp.

Будетатрибуты просто игнорируются?Или могут возникнуть ошибки во время сборки или выполнения?

Ответы [ 4 ]

1 голос
/ 11 декабря 2011

Начиная с версии 2.1 на сервере сборки должен быть установлен PostSharp, а также все разработчики, которым необходимо создавать проекты. Если вы этого не сделаете, то сборка не удастся, и они, вероятно, не будут вести себя с вами. PostSharp является частью процесса сборки, поэтому он необходим на сервере сборки.

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

Я рекомендую установить PostSharp в репозиторий исходного кода (http://doc.sharpcrafters.com/postsharp-2.1/Content.aspx/PostSharp-2.1.chm/html/41129237-a5d4-4acf-aef4-c46759ccfb4b.htm), чтобы всем было проще.

1 голос
/ 11 декабря 2011

Если PostSharp установлен на других компьютерах разработки, его также необходимо установить на серверах сборки.

См. Также http://doc.sharpcrafters.com/postsharp-2.1/Content.aspx/PostSharp-2.1.chm/html/522bb950-5fdf-4601-b75e-7c60c8b3ae08.htm.

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

0 голосов
/ 03 июня 2015

Вы можете отключить PostSharp для некоторых конфигураций.

Проект> Настройка> PostSharp

Выберите Да для отключения PostSharp для этой конфигурации

Я ответил на аналогичный вопрос здесь:

Отключить Postsharp в отладочных сборках

0 голосов
/ 26 апреля 2012

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

Конечно, обработка после сборки не будет выполняться, и все атрибуты будут игнорироваться, но не относящиеся к функциональности PostSharp будут работать должным образом.

Разъяснение 12 января 2013 г .:

Другие разработчики и сервер сборки могли игнорировать PostSharp, когда я использовал программу установки для установки (как описано в http://doc.sharpcrafters.com/postsharp-2.1/Default.aspx##PostSharp-2.1.chm/html/f7b57aa1-369a-406a-8863-8b6865265a21.htm ) только на моей машине.

Однако при использовании установки NuGet во вложенной папке пакетов (в настоящее время рекомендуется автором PostSharp) все разработчики вынуждены устанавливать версию для начинающих или пробную профессиональную версию

...