使用 MSBuild 通过 NAnt 脚本将 licenses.licx 文件嵌入到 exe 中
我们为我们的应用程序使用 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>
使用的变量:
属性名称=“msbuild” 值=“C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe”
属性名称=“解决方案” 值=“项目.sln”
属性名称=“配置”值=“发布”
请注意,我删除了 <和>>来自此处的属性,因为由于引用系统 (>),它们似乎没有显示出来。
在使用 MSBuild 构建时,我们可以将 license.licx 文件正确嵌入到我的可执行文件中吗?
谢谢
We have an automated build setup using TeamCity for our application. This application uses Active Reports 6, which use a license.licx file for licensing. When I build using Visual Studio on the build machine, everything is cool and the license is recognized when I distribute my application to others.
The problem is that our build server goes with MSBuild. When built using MSBuild, with the same license.licx file, it does not get embedded properly into our executable, and the AR6 watermark appears on the reports.
Upon contacting the ActiveReports support, they offered me to use the LC.exe tool to generate a .licenses file, and then use the C# command line compiler (CSC) to compile my .licenses file into my application. This did not work for me.
The NAnt task that calls MSBuild is the following :
<exec program="${msbuild}">
<arg value="${solution}" />
<arg value="/p:Configuration=${config}" />
<arg value="/t:rebuild" />
</exec>
Variables used:
property name="msbuild"
value="C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe"property name="solution"
value="project.sln"property name="config" value="release"
Note that I removed < and /> from properties here because they don't seem to show up because of the quote system (>)
Can we embed properly the license.licx file into my executable when building using MSBuild?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我终于解决了这个问题。事实证明,当使用计算机上的管理员帐户安装 ActiveReports 许可证时,我们的构建服务器在 SYSTEM 帐户下运行。
以管理员帐户运行 TeamCity 服务(我们的构建服务器)解决了我们的问题。
I solved the problem finally. It turned out to be our build server running under the SYSTEM account, when the ActiveReports license was installed using the admin account on the machine.
Running the TeamCity service (our build server) as the admin account solved our issue.