用于 WinRT 的 TFS 2012 构建和 SQLite

Posted

技术标签:

【中文标题】用于 WinRT 的 TFS 2012 构建和 SQLite【英文标题】:TFS 2012 Builds and SQLite for WinRT 【发布时间】:2013-06-21 03:15:07 【问题描述】:

在使用 SQLite for WinRT 的 Windows 应用商店应用程序上工作。由于安装了适用于 Windows 运行时的 VS2012 扩展 SQLite,本地构建工作正常。

这会将 2 个 SDK 引用添加到项目配置中,这些引用指向本地文件系统(不是解决方案的一部分)。但是 TFS 2012 Build 说构建被破坏了,因为它找不到 SQLite 和 C++ dll。

我使用的是 MS 托管的 TFS,因此无法在构建服务器上安装 SDK。

有什么想法吗?

【问题讨论】:

【参考方案1】:

我在尝试使用 TFS 托管构建服务器构建 WinRT 项目时遇到了类似的问题。

最后,这篇文章是赢家:

http://blog.novotny.org/2012/03/24/how-to-use-extension-sdks-per-project/

解决方案是将版本控制中的库放在“libs”目录中。 NuGet 对解决方案级别的 \packages 目录中的现有库执行此操作;它还不支持扩展 SDK。好消息是 Visual Studio 11 和 MSBuild 都已经支持通过覆盖 SDKReferenceDirectoryRoot 变量来定义扩展 SDK 的其他位置。关键是在 csproj/vbproj 文件末尾附近的元素之后添加覆盖,如下所示:

<PropertyGroup>
  <SDKReferenceDirectoryRoot>$(SolutionDir)\libs;$(SDKReferenceDirectoryRoot)</SDKReferenceDirectoryRoot>
</PropertyGroup>

有了这些,您就可以将您的扩展 SDK 文件与您的解决方案放在一起:

\libs\Windows\v8.0\ExtensionSDKs[SDKName][SDKVersion]\...

在那里,它将像任何其他扩展 SDK 一样在 Visual Studio 添加引用对话框中可用。

现在我的 SDK 引用不需要手动安装在开发者机器或构建服务器上。

【讨论】:

以上是关于用于 WinRT 的 TFS 2012 构建和 SQLite的主要内容,如果未能解决你的问题,请参考以下文章

从 2012 年升级 TFS 并处理 Xaml 构建服务器

构建在 TFS 2012 中控制的 BizTalk 2013 R2 源?

在 TFS 2012 beta 中构建失败,但该解决方案在 Visual Studio 2012 RC 中成功构建

是否可以在 Windows 7 上构建 WinRT 应用程序?

如何在 tfs 2012 中配置我的输出构建

带有WinRT C ++构建问题的Qt