2016-03-06 40 views
0

在我的ServiceStack 客户端应用程序,一切都很好,直到我已经尝试用SmartAssembly或ILRepack打包它。有三个DLL: (ServiceStack.Client.dll,ServiceStack.Interfaces.dll,ServiceStack.Text.dll) 当打包导致我的应用程序崩溃时,无论是使用encryption \ obfuscation选项还是只打包它们合并成一个EXE。我的应用程序的目标是.NET 4.0(我想支持赢得XP)。异常的堆栈跟踪:包装后ServiceStack许可证错误

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,除了上述以外的其他ServiceStack DLL甚至在打包时也能很好地工作。

+0

您是否已将许可证密钥添加到'app.config'? – will

+0

这是客户端应用程序,它不需要许可证(我相信)。另外,正如我所提到的,只有当我将所有程序集合到我的exe文件中时才会出现问题,通常没有问题。 – HardLuck

+0

@HardLuck可以在[MyGet](https://github.com/ServiceStack/ServiceStack/wiki/MyGet)上使用最新的v4.0.55软件包重试吗? – mythz

回答

1

它看起来像没有明确安装的.NET Framework 4.0导致该问题。如果我编译4.5 \ 4.6版本的解决方案并打包它 - 一切都很好。同时编译和打包.NET 4.0并在明确安装了该版本的PC上使用它也可以工作