在我的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)
我无法安装patch,因为安装程序说它被阻止或条件无效。另外,我不确定这个补丁对我有帮助。欢迎任何想法。
旁注:另一个使用其他ServiceStack DLL的ServiceStack应用程序,除了前面提到的那些,即使在打包时也能很好地工作。
答案 0 :(得分:1)
看起来缺少明确安装的.NET Framework 4.0会导致该问题。如果我编译4.5 \ 4.6版本的解决方案并打包它 - 一切都很好。还为.NET 4.0编译和打包它并在显然安装了这个版本的PC上使用它也适用