4

我们正在开发Windows Store C#/ XAML应用程序,该应用程序必须(除其他外)与SQLite数据库交互并显示特定GPS坐标的Bing地图。有没有办法避免为每个团队成员安装像VS“SQLite for WinRT”这样的VS扩展?

“官方”做到这一点的方法似乎是安装两个Visual Studio扩展 - SQLite for Windows RuntimeBing Maps SDK。这种方法有两个问题:

  • 有必要将它们分别安装在每个团队成员的机器上。随着新的个人电脑,VS的重新安装以及人员离开项目的进程,这个过程可能非常迅速。
  • 更新。比方说,我安装扩展的特定版本并提交引用该特定版本的项目。然后,一个新的团队成员进来,我也需要安装扩展到他的电脑。然而,与此同时,微软已经发布了一个更新版本的扩展,我无法下载更老的扩展 - 现在,由于一个新人,每个人都必须更新扩展。

理想情况下,我想要做的是以某种方式将这些扩展到SVN。这样,它们只存储在一个地方,并且不会有不断的安装和更新的麻烦。我能够从SQLite扩展中提取.dll文件,但是对于Bing地图,还有一个.winmd文件以及一个本地.dll文件。我无法直接引用.winmd,并且动态加载它是,因为I've come to understand不可能。

有什么方法可以达到我想要的效果并避免所有列出的问题?我希望我能忽略一些事情,因为我不相信微软会决定这么愚蠢的事情......

+1

它们不是VS扩展。使用Nuget代替,将它们添加到您的项目中,检查它。 –

+0

@HansPassant,请您详细说明一下吗?我尝试过为WinRT搜索Bing SDK和SQLite的Nuget回购,但无济于事。我相信它们是VS扩展,因为它们是通过Tools => Extensions and Updates对话框引用的。如果有任何网上资源处理这件事,请提供相关链接?我觉得我确实忽略了一些东西只会变得更强大...... –

+2

@Hans SQLite和Bing地图是作为扩展安装的。对于SQLite,您有许多nuget软件包,但他们需要先安装扩展程序,即安装用于RT开发所需的x86,x64和ARM版本的dll。加入JavaScript后Bing地图也是如此。 – jmservera

回答

2

是的,有一种方法。

你会发现在由奥伦·诺沃提尼这篇博客文章的解释和一个例子:http://novotny.org/blog/how-to-use-extension-sdks-per-project

荣誉对这个帖子的作者,它救了我吨的工作。 当尝试在具有Bing地图的项目中使用Visual Studio Online中的TFSBuild服务执行CI时,我遇到了同样的问题。我们不能在集成服务器上安装任何东西,因为它是基于云的,所以我必须进行很长时间的搜索才能找到解决方案。它涉及修改.sln文件并将源文件控制中的文件保持为精确的文件夹结构,但是当您正确执行所有操作时,它就像一个魅力一样。

相关问题