用于 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的主要内容,如果未能解决你的问题,请参考以下文章
构建在 TFS 2012 中控制的 BizTalk 2013 R2 源?
在 TFS 2012 beta 中构建失败,但该解决方案在 Visual Studio 2012 RC 中成功构建