2016-03-06 54 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上使用它也可以工作