我们为我们的应用程序使用TeamCity进行了自动构建设置。此应用程序使用Active Reports 6,它使用license.licx文件进行许可。当我在构建机器上使用Visual Studio构建时,一切都很酷,当我将应用程序分发给其他人时,许可证被识别。
问题是我们的构建服务器与MSBuild一起使用。使用MSBuild构建时,使用相同的license.licx文件,它不会正确嵌入到我们的可执行文件中,并且报告中会显示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>
使用的变量:
property name =“msbuild” 值= “C:\ Windows \ Microsoft.NET \框架\ v3.5版本\ MSBuild.exe”
属性名称=“解决方案” 值= “project.sln”
property name =“config”value =“release”
请注意,我删除了&lt;和/&gt;来自这里的属性,因为它们似乎没有出现因为报价系统(&gt;)
使用MSBuild构建时,我们可以将license.licx文件正确嵌入到我的可执行文件中吗?
由于
答案 0 :(得分:1)
我终于解决了这个问题。当使用计算机上的管理员帐户安装ActiveReports许可证时,结果是我们的构建服务器在SYSTEM帐户下运行。
运行TeamCity服务(我们的构建服务器)作为管理员帐户解决了我们的问题。