Could not find SDK SQLite.UWP.2015 when building UWP application using Hosted TFS pool
Asked Answered
A

4

7

I have build a UWP application using Sqlite. On my local machine I had to install the following SQLite for Universal Windows Platform Visual Studio Extension to get it to build. I followed this blog when using sqlite on UWP

I am now trying to implement Continuous integration with Visual Studio Team Services (was Team Foundation Server Online).

I am using a Hosted pool to build my application but I get the following message:

C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(2049,5): error MSB3774: Could not find SDK "SQLite.UWP.2015, Version=3.12.2".

and it breaks the build.

How can I fix this on a hosted pool? I do not have physical access to the machine as this is managed by TFS online

EDIT:

After finding this is a library that is installed on my local machine (through the Visual Studio Extension) and so doesnt exist on my hosted machine meaning the reference is broken I am trying to add the respective files to source control and reference it directly from source control. But I have no idea what dll it is actually referencing as it doesnt say. The properties of the reference are as follows:

enter image description here

Ablebodied answered 6/5, 2016 at 10:55 Comment(1)
So I found out that by installing the extension and referencing it it is referenced in C:\Program Files (x86)\Microsoft SDKs\UAP\v0.8.0.0\ExtensionSDKs\SQLite.UWP.2015 which is obviously not on the Host machine. I dont know which dll it is looking for though and how to get that as part of the projectAblebodied
P
1

There isn't any way to install the extension on Hosted Build Agent.

Q: Does your build depend on software other than this software that is installed on hosted build resources?

A: No. Then you can use the hosted pool.

Here is the software installed on Hosted Build Agent: Software on the hosted build server.

The work around is deploy your own build agent. With this build agent, you can install the software you want to build your project.

Promptitude answered 9/5, 2016 at 1:9 Comment(3)
I ended up deploying my own build agent as it gives me more control and I can install the extension on my own build agentAblebodied
We are looking into allowing admin functionality during the build since you own the machine for that leased period of time.Solidago
Still no Sqlite for UWP on Hosted Machines.. Come on Microsoft, pull your finger out!Ablebodied
M
4

Actually there is a simple solution that has worked perfectly for us:

Copy the Microsoft SDKs folder to your repo (or submodule).

Add this to the end of your csproj file:

<PropertyGroup>
  <SDKReferenceDirectoryRoot>$(MSBuildProjectDirectory)\..\..\..\..\Microsoft SDKs;$(SDKReferenceDirectoryRoot)</SDKReferenceDirectoryRoot>
</PropertyGroup>

From now on the build process will first check this directory for the required extensions and then fallback to the locally installed extensions. This works perfectly on VSTS hosted agents and doesn't require you to install all the extensions on every dev machine.

Madea answered 8/8, 2016 at 21:31 Comment(2)
Of course you only have to copy the extensions and versions you are using, but they must have the same folder structure, like UAP\v0.8.0.0\ExtensionSDKs\...Madea
Thanks: this tip saved a lot of time!Corpulent
S
1

You can not install extra extension in a Hosted VSTS. I tried with TS support and there is no way to do it right now.

You can use difference CI service like Appveyor with give you some control over installing extension via powershell.

Or you can wait for Windows 10 Anniversary with include Sqlite.

Skilken answered 7/5, 2016 at 13:53 Comment(0)
P
1

There isn't any way to install the extension on Hosted Build Agent.

Q: Does your build depend on software other than this software that is installed on hosted build resources?

A: No. Then you can use the hosted pool.

Here is the software installed on Hosted Build Agent: Software on the hosted build server.

The work around is deploy your own build agent. With this build agent, you can install the software you want to build your project.

Promptitude answered 9/5, 2016 at 1:9 Comment(3)
I ended up deploying my own build agent as it gives me more control and I can install the extension on my own build agentAblebodied
We are looking into allowing admin functionality during the build since you own the machine for that leased period of time.Solidago
Still no Sqlite for UWP on Hosted Machines.. Come on Microsoft, pull your finger out!Ablebodied
C
1
  • Download SQLite for Universal Windows Platform SDK from here
  • Install it by double clicking.

This solved same issue with my UWP project.

Canvass answered 1/5, 2018 at 18:46 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.