Встраивание файла licenses.licx в исполняемый файл с использованием MSBuild с помощью сценария NAnt - PullRequest
1 голос
/ 13 мая 2010

У нас есть автоматическая настройка сборки с использованием TeamCity для нашего приложения. Это приложение использует Active Reports 6, которые используют файл license.licx для лицензирования. Когда я собираюсь с помощью Visual Studio на сборочной машине, все круто, и лицензия распознается, когда я распространяю свое приложение среди других.

Проблема в том, что наш сервер сборки идет с MSBuild. При сборке с использованием MSBuild с тем же файлом license.licx он неправильно внедряется в наш исполняемый файл, и в отчетах появляется водяной знак AR6.

Обратившись в службу поддержки ActiveReports, они предложили мне использовать инструмент LC.exe для создания файла .licenses, а затем использовать компилятор командной строки C # (CSC) для компиляции моего файла .licenses в мое приложение. Это не сработало для меня.

Задача NAnt, которая вызывает MSBuild, выглядит следующим образом:

<exec program="${msbuild}">
  <arg value="${solution}" />
  <arg value="/p:Configuration=${config}" />
  <arg value="/t:rebuild" />
</exec>

Используемые переменные:

property name = "msbuild" Значение = "C: \ WINDOWS \ Microsoft.NET \ Framework \ v3.5 \ MSBuild.exe"

property name = "solution" значение = "project.sln"

property name = "config" value = "release"

Обратите внимание, что я удалил <и /> из свойств здесь, потому что они, кажется, не отображаются из-за системы цитат (>)

Можем ли мы правильно встроить файл license.licx в мой исполняемый файл при сборке с использованием MSBuild?

Спасибо

1 Ответ

1 голос
/ 14 мая 2010

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

Запуск службы TeamCity (наш сервер сборки) в качестве учетной записи администратора решил нашу проблему.

...