c# – 有没有办法避免为每个团队成员安装VS扩展,如“SQLite for WinRT”?

我们正在开发一个
Windows Store C#/ XAML应用程序,该应用程序必须(除其他外)与SQLite数据库交互并显示特定GPS坐标的Bing地图.

“官方”方式似乎是安装两个Visual Studio扩展 – SQLite for Windows RuntimeBing Maps SDK.我有两个问题:这种方法:

>必须在每个团队成员的机器上单独安装它们.随着新PC,VS重新安装以及人们进出项目,这可能会很快变得乏味.
>更新.假设我安装了特定版本的扩展,并提交引用该特定版本的项目.然后,一个新的团队成员进来,我也需要将扩展​​安装到他的PC上.但是,与此同时,微软发布了更新版本的扩展程序,我无法下载旧版本 – 现在,由于一个新人,每个人都必须更新他们的扩展.

理想情况下,我想要做的是以某种方式将这些扩展放到SVN.这样,它们只存储在一个地方,并且没有持续安装和更新的麻烦.我能够从SQLite扩展中提取.dll文件,但是使用Bing Maps,有一个.winmd文件以及一个本机.dll.我无法直接引用.winmd,并且动态加载它是不可能的,如I’ve come to understand所示.

有没有办法实现我想要的东西并避免所有概述的问题?我希望我忽略了一些东西,因为我无法相信微软会决定如此愚蠢的东西……

最佳答案 是的,有一种方法.

您可以在Oren Novotny:http://novotny.org/blog/how-to-use-extension-sdks-per-project的博客文章中找到解释和示例

感谢这篇文章的作者,它为我节省了大量的工作.
在具有Bing Maps的项目中尝试使用Visual Studio Online中的TFSBuild服务进行CI时遇到了同样的问题.我们无法在集成服务器中安装任何东西,因为它是基于云的,所以我不得不进行很长时间的搜索才能找到解决方案.它涉及修改.sln文件并将文件放在源代码控制中以维护精确的文件夹结构,但是当你正确地完成所有这些操作时,它就像一个魅力.

点赞