使用托管 TFS 池构建 UWP 应用程序时找不到 SDK SQLite.UWP.2015
Could not find SDK SQLite.UWP.2015 when building UWP application using Hosted TFS pool
我已经使用 Sqlite 构建了一个 UWP 应用程序。在我的本地计算机上,在 UWP
上使用 sqlite 时,我必须安装以下 SQLite for Universal Windows Platform Visual Studio Extension to get it to build. I followed this blog
我现在正在尝试与 Visual Studio Team Services(以前是 Team Foundation Server Online)实现持续集成。
我正在使用托管池构建我的应用程序,但我收到以下消息:
C:\Program Files
(x86)\MSBuild.0\bin\Microsoft.Common.CurrentVersion.targets(2049,5):
error MSB3774: Could not find SDK "SQLite.UWP.2015, Version=3.12.2".
它破坏了构建。
如何在托管池中修复此问题?我没有对机器的物理访问权限,因为它由 TFS 在线管理
编辑:
发现这是一个安装在我本地机器上的库(通过 Visual Studio 扩展),因此在我的托管机器上不存在,这意味着引用已损坏我正在尝试将相应的文件添加到源代码管理并直接从源代码管理中引用它。但我不知道它实际引用的是什么 dll,因为它没有说明。引用的属性如下:
您不能在托管 VSTS 中安装额外的扩展。我尝试了 TS 支持,但现在没有办法。
您可以使用不同的 CI 服务,例如 Appveyor,让您可以通过 powershell 控制安装扩展。
无法在 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.
这是 Hosted Build Agent 上安装的软件:Software on the hosted build server。
解决方法是 deploy your own build agent。使用此构建代理,您可以安装要构建项目的软件。
实际上有一个简单的解决方案非常适合我们:
将 Microsoft SDKs 文件夹复制到您的存储库(或子模块)。
将此添加到您的 csproj 文件的末尾:
<PropertyGroup>
<SDKReferenceDirectoryRoot>$(MSBuildProjectDirectory)\..\..\..\..\Microsoft SDKs;$(SDKReferenceDirectoryRoot)</SDKReferenceDirectoryRoot>
</PropertyGroup>
从现在开始,构建过程将首先检查此目录以查找所需的扩展,然后回退到本地安装的扩展。这在 VSTS 托管代理上完美运行,不需要您在每台开发机器上安装所有扩展。
- 从 here
下载 通用 Windows 平台的 SQLite SDK
- 双击安装。
这解决了我的 UWP 项目的同样问题。
我已经使用 Sqlite 构建了一个 UWP 应用程序。在我的本地计算机上,在 UWP
上使用 sqlite 时,我必须安装以下 SQLite for Universal Windows Platform Visual Studio Extension to get it to build. I followed this blog我现在正在尝试与 Visual Studio Team Services(以前是 Team Foundation Server Online)实现持续集成。
我正在使用托管池构建我的应用程序,但我收到以下消息:
C:\Program Files (x86)\MSBuild.0\bin\Microsoft.Common.CurrentVersion.targets(2049,5): error MSB3774: Could not find SDK "SQLite.UWP.2015, Version=3.12.2".
它破坏了构建。
如何在托管池中修复此问题?我没有对机器的物理访问权限,因为它由 TFS 在线管理
编辑:
发现这是一个安装在我本地机器上的库(通过 Visual Studio 扩展),因此在我的托管机器上不存在,这意味着引用已损坏我正在尝试将相应的文件添加到源代码管理并直接从源代码管理中引用它。但我不知道它实际引用的是什么 dll,因为它没有说明。引用的属性如下:
您不能在托管 VSTS 中安装额外的扩展。我尝试了 TS 支持,但现在没有办法。
您可以使用不同的 CI 服务,例如 Appveyor,让您可以通过 powershell 控制安装扩展。
无法在 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.
这是 Hosted Build Agent 上安装的软件:Software on the hosted build server。
解决方法是 deploy your own build agent。使用此构建代理,您可以安装要构建项目的软件。
实际上有一个简单的解决方案非常适合我们:
将 Microsoft SDKs 文件夹复制到您的存储库(或子模块)。
将此添加到您的 csproj 文件的末尾:
<PropertyGroup>
<SDKReferenceDirectoryRoot>$(MSBuildProjectDirectory)\..\..\..\..\Microsoft SDKs;$(SDKReferenceDirectoryRoot)</SDKReferenceDirectoryRoot>
</PropertyGroup>
从现在开始,构建过程将首先检查此目录以查找所需的扩展,然后回退到本地安装的扩展。这在 VSTS 托管代理上完美运行,不需要您在每台开发机器上安装所有扩展。
- 从 here 下载 通用 Windows 平台的 SQLite SDK
- 双击安装。
这解决了我的 UWP 项目的同样问题。