Documents & videos about Qlik Sense.
Here is a quick start on how to use the Qlik Sense .Net SDKs nuget package in a Visual Studio project.
The Qlik Sense .Net SDK nuget package uses specific version identification in its nuspec as a result we can't use it to integrate with our product.
It asks for specific versions:
This isn't the best practice because it means that any project that requires a higher (but API compatible) version of the packages won't be able to use the Qlik Sense .Net SDK.
This is caused by two things:
Firstly the nuspec uses the specific version identifier (IIRC this isn't the best practice):
<dependency id="Autofac" version="[3.5.2]" />
<dependency id="log4net" version="[2.0.0]" />
<dependency id="Newtonsoft.Json" version="[6.0.3]" />
It might be able to use use a version range (if you require greater than a particular version), or should specify the versions without the s so I as a developer of a project can upgrade to binary compatible higher versions in my project as I require them.
Second, it is using log4net directly which is probably going to cause problems. Log4net is indirectly referenced by way too many different versions of hundreds of open-source projects, and the versions of log4net almost always differ.
It would be preferable if, instead of referencing log4net directly, the Qlik Sense .Net SDK referenced something like Common.Logging and allowed consumers of your nuget package to specify a logger compatible with your their projects. This would also allow Qlik Sense .Net SDK to support many different loggers without any additional code.
Until this versioning problem is solved we can't use this nuget package because our project requires log4net 2.0.3 and Newtonsoft.Json 6.0.4 and this package conflicts with them.
Please advise, we'd like to be able to use the SDK.
+ for your request. I understand what is not so easy to test a package with a combination of all different external dependendcies, but I also like to have more "freedom" to use newer version for the other libraries.
The upcoming release of the .Net SDK (version 2.1) will not have a dependency on Log4Net.
We will still have dependencies on Autofac and Newtonsoft.Json though, and we will take your request into consideration and see how best to deal with version management in the future.
As a workaround for now you will have to download the SDK DLLs from our website. Instructions are as follows and can be found at the site below.
"The Qlik Sense .NET SDK is obtained from www.qlik.com. Log on with a registered customer or partner account, select Support > Downloads and then select the Sense tab."
Thank you for the input!
The 2.1.1 version of the nuget package still has the same problem as the 2.0 series.
Your dependencies are still listed as explicit version dependencies. This causes will cause nuget to fail dependency resolution when packages depend on different, but binary compatible versions.
Please stop using explicit version definition in your nuget package.
You can do this by just removing the  around the version number in your nuspec file.
Please see the nuget documentation on versioning. Versioning
In almost all cases you do not actually want to use the == version of the version range syntax.
Until this issue has been fixed it is easy to replace a nuget package with another version.
See How to solve specific version in the .Net SDK Nuget package
With the release of Qlik Sense 2.2, improvements have been made in this domain. The .Net SDK is now no longer locket to specific versions of Autofac and Newtonsoft.Json but supports a range of versions. Please refer to the following site for more information:
What’s new in Qlik Sense 2.2? ‒ Qlik Sense
Best regards, Øystein Kolsrud
This is great!!!