Я "наследовал" новое (старый?) проект Winforms и хотел бы поместить его на наш сервер сборки (Бамбук). Тот сервер сборки имеет только абсолютный минимум (.NET 3.5 и не намного больше) установленный, и мы хотели бы сохранить это тем путем.
Как первый шаг, я извлек все файлы блока (*.dll) для компонентов Infragistics в отдельный каталог и сослался на них из того локального каталога (вместо того, чтобы полагаться на них устанавливаемый в GAC). Работы хорошо.
Но когда я пытаюсь работать, это основывается на Бамбуке (использующий MSBuild), я продолжаю получать ошибки:
Properties\licenses.licx (1): ошибка LC0004: Исключение произошло, создав тип 'Infragistics. Победа. UltraWinToolbars. UltraToolbarsManager, Infragistics2. Победа. UltraWinToolbars.v7.2, Version=7.2.20072.61, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb' Система. ComponentModel. LicenseException
После небольшого количества поиска с помощью Google кажется что они licenses.licx
файл в проектах является некоторым планом лицензирования препятствовать тому, чтобы инструменты были установлены на нескольких машинах.
Но как я могу избавиться от тех так, чтобы моя сборка сервера сборки работала, не устанавливая полный набор компонента Infragistics на сервер сборки (это не опция)??
Хм.... классическая уловка - 22 - какой-либо выход из этого??
Единственный способ, которым я нашел, чтобы решить эту проблему, так это:
.Licx
в моей папке, где находится раствор Licenses.licx
по всем существующим лицензии .licx
В каталоге различных проектов
каталог с этим, теперь у меня есть мой интерактивный опыт работы (поскольку присутствуют правильные лицензии .licx
файлов), но мой автоматический Создание также не ломается (так как пусто лицензии. licx
файл, который я скопировал над всеми реальными, не вызывает прерваний в сборке)
, кажется, немного взлома - но это работает. Надеюсь, что поможет кому-то, где-то, когда-нибудь день.
Обновление: Я добавил этот ROFYBUILD
Шаг Шаг к моему файлу создания MSBuild для скопирования пустых *. Файл ICS
в местах, которые мне нужны:
<Target Name="BeforeBuild">
<CreateItem Include="licenses.licx">
<Output TaskParameter="Include" ItemName="EmptyLicensesLicx" />
</CreateItem>
<Copy SourceFiles="@(EmptyLicensesLicx)"
DestinationFolder="(your-target-folder-here)"
ContinueOnError="true" />
</Target>
, так как мне нужно Чтобы заменить этот файл * .licx в несколько мест, у меня на самом деле есть несколько из этих задач
для достижения моей цели.