打包后ServiceStack license报错

ServiceStack license error after packaging

在我的 ServiceStack client 应用程序中,一切都很好,直到我尝试使用 SmartAssembly 或 ILRepack 对其进行打包。共有三个 DLL: (ServiceStack.Client.dll, ServiceStack.Interfaces.dll, ServiceStack.Text.dll) 这在打包时会导致我的应用程序崩溃,无论我是使用 encryption\obfuscation 选项还是将它们打包到一个 EXE 中。我的应用程序针对 .NET 4.0(我想支持 win XP)。异常的堆栈跟踪是:

ServiceStack.LicenseException: Unauthorized access request of a licensed feature. Type: 'AccessToken', Assembly: 'ClientTester.exe', 'My EXE path'
ServiceStack.Net40PclExport.VerifyInAssembly(Type accessType, ICollection`1 assemblyNames)
ServiceStack.LicenseUtils.RequestAccess(Object accessToken, LicenseFeature srcFeature, LicenseFeature requestedAccess)
ServiceStack.JsonServiceClient.ToJson[T](T o)
ServiceStack.EncryptedServiceClient.CreateEncryptedMessage(Object request, String operationName, Byte[] cryptKey, Byte[] authKey, Byte[] iv, String verb)
ServiceStack.EncryptedServiceClient.Send[TResponse](String httpMethod, Object request)

我无法安装 patch,因为安装程序说它被阻止或条件无效。此外,我不确定这个补丁是否对我有帮助。欢迎任何想法。
旁注:另一个 ServiceStack 应用程序,它使用除上述之外的其他 ServiceStack DLL,即使在打包时也能正常工作。

似乎是由于缺少明确安装的 .NET Framework 4.0 导致了该问题。如果我为 4.5.6 版本编译解决方案并将其打包 - 一切都很好。还为 .NET 4.0 编译和打包它并在明确安装了这个版本的 PC 上使用它也可以工作