通过NAnt脚本使用MSBuild将licenses.licx文件嵌入exe

通过NAnt脚本使用MSBuild将licenses.licx文件嵌入exe,msbuild,licensing,nant,Msbuild,Licensing,Nant,我们的应用程序使用TeamCity进行了自动构建设置。此应用程序使用Active Reports 6,它使用license.licx文件进行许可。当我在构建机器上使用Visual Studio进行构建时,一切都很酷,当我将应用程序分发给其他人时,许可证也会被识别 问题是我们的构建服务器使用MSBuild。当使用同一license.licx文件使用MSBuild构建时,它不会正确嵌入到我们的可执行文件中,并且AR6水印会显示在报告中 联系ActiveReports支持后,他们让我使用LC.exe工

我们的应用程序使用TeamCity进行了自动构建设置。此应用程序使用Active Reports 6,它使用license.licx文件进行许可。当我在构建机器上使用Visual Studio进行构建时,一切都很酷,当我将应用程序分发给其他人时,许可证也会被识别

问题是我们的构建服务器使用MSBuild。当使用同一license.licx文件使用MSBuild构建时,它不会正确嵌入到我们的可执行文件中,并且AR6水印会显示在报告中

联系ActiveReports支持后,他们让我使用LC.exe工具生成.licenses文件,然后使用C#命令行编译器(CSC)将我的.licenses文件编译到我的应用程序中。这对我不起作用

调用MSBuild的NAnt任务如下所示:

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

使用的变量:

属性名称=“msbuild” value=“C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe”

property name=“解决方案” value=“project.sln”

property name=“config”value=“release”

请注意,我从这里的属性中删除了<和/>,因为它们似乎由于报价系统(>)而不显示

在使用MSBuild生成时,是否可以将license.licx文件正确嵌入到我的可执行文件中


谢谢,我终于解决了这个问题。当ActiveReports许可证在机器上使用admin帐户安装时,它原来是在系统帐户下运行的构建服务器


作为管理员帐户运行TeamCity服务(我们的构建服务器)解决了我们的问题

我终于解决了这个问题。当ActiveReports许可证在机器上使用admin帐户安装时,它原来是在系统帐户下运行的构建服务器


作为管理员帐户运行TeamCity服务(我们的构建服务器)解决了我们的问题

这也帮助我解决了构建服务器上旧版本ActiveReports的问题!以管理员身份运行构建服务器非常危险。只需考虑运行单元测试。生成服务器正在运行任意代码。注意:这正是SolarWinds和其他大公司被破坏的原因。如果特定任务需要权限,请让一个特定的程序以管理员身份运行,该程序只能执行该操作,然后在生成环境中与该程序(rest?)通信。这也帮助我解决了生成服务器上旧版本ActiveReports的问题!以管理员身份运行构建服务器非常危险。只需考虑运行单元测试。生成服务器正在运行任意代码。注意:这正是SolarWinds和其他大公司被破坏的原因。如果一个特定的任务需要权限,那么让一个特定的程序以管理员身份运行,该程序只能执行该任务,然后在构建环境中与该程序(rest?)通信。