在我的 ServiceStack客户端应用程序中,一切都很好,直到我尝试使用 SmartAssembly 或 ILRepack 打包它。共有三个 DLL:(ServiceStack.Client.dll、ServiceStack.Interfaces.dll、ServiceStack.Text.dll)打包时会导致我的应用程序崩溃,无论我使用加密\混淆选项还是将它们打包到一个 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)
我无法安装补丁,因为安装程序说它被阻止或条件无效。此外,我不确定这个补丁是否对我有帮助。欢迎任何想法。
旁注:另一个 ServiceStack 应用程序,它使用除上述之外的其他 ServiceStack DLL,即使在打包时也能正常工作。