IronPrint 许可证配置故障排除
该问题已在 IronPrint 2024.3.6 版本中得到解决。
# This shell output shows an unhandled exception error due to missing license for IronPrint.
Exception: Unhandled exception. IronSoftware.Exceptions.LicensingException: IronPrint must be licensed for development.
# This shell output shows an unhandled exception error due to missing license for IronPrint.
Exception: Unhandled exception. IronSoftware.Exceptions.LicensingException: IronPrint must be licensed for development.
对于较早版本的 IronPrint(特别是 2024.3.6 版之前的版本),存在已知的许可问题:
- ASP.NET 项目
- .NET Framework 版本 >= 4.6.2
存储在 Web.co/nfig 文件中的密钥将不会被产品读取和使用。
解决方法
为解决此问题,建议在代码中使用 ConfigurationManager 从 Web.co/nfig 文件中获取许可证密钥,然后将其应用到 License.LicenseKey 属性上。
示例:
<configuration>
...
<appSettings>
<add key="IronPrint.LicenseKey" value="IRONPRINT.MYLICENSE.KEY.1EF01"/>
</appSettings>
...
</configuration>
<configuration>
...
<appSettings>
<add key="IronPrint.LicenseKey" value="IRONPRINT.MYLICENSE.KEY.1EF01"/>
</appSettings>
...
</configuration>
利用上文提供的 XML 文件,我们可以使用 ConfigurationManager 检索许可证密钥值,并将其传递给 IronPrint.License.LicenseKey 属性。
using System;
using System.Co/nfiguration;
namespace IronPrintLicenseSetup
{
class Program
{
static void Main()
{
// Retrieve the license key from the appSettings section of the Web.co/nfig file.
string licenseKey = ConfigurationManager.AppSettings["IronPrint.LicenseKey"];
// Apply the retrieved license key to the IronPrint's LicenseKey property.
IronPrint.License.LicenseKey = licenseKey;
// Notify user that the license key has been applied.
Console.WriteLine("License Key has been applied successfully.");
}
}
}
using System;
using System.Co/nfiguration;
namespace IronPrintLicenseSetup
{
class Program
{
static void Main()
{
// Retrieve the license key from the appSettings section of the Web.co/nfig file.
string licenseKey = ConfigurationManager.AppSettings["IronPrint.LicenseKey"];
// Apply the retrieved license key to the IronPrint's LicenseKey property.
IronPrint.License.LicenseKey = licenseKey;
// Notify user that the license key has been applied.
Console.WriteLine("License Key has been applied successfully.");
}
}
}
Imports System
Imports System.Configuration
Namespace IronPrintLicenseSetup
Class Program
Shared Sub Main()
' Retrieve the license key from the appSettings section of the Web.config file.
Dim licenseKey As String = ConfigurationManager.AppSettings("IronPrint.LicenseKey")
' Apply the retrieved license key to the IronPrint's LicenseKey property.
IronPrint.License.LicenseKey = licenseKey
' Notify user that the license key has been applied.
Console.WriteLine("License Key has been applied successfully.")
End Sub
End Class
End Namespace
在上例中,ConfigurationManager.AppSettings 用于直接从 Web.co/nfig 获取许可证密钥。 随后将 IronPrint 组件的密钥设置为 LicenseKey,以确保应用程序拥有正常运行所需的许可证。

