【问题标题】:What kind of add-in / extension for VS 2010 should I create?我应该为 VS 2010 创建什么样的插件/扩展?
【发布时间】:2010-08-16 11:33:58
【问题描述】:

我设法以简单 dll 的形式为 Visual Studio“更新 Web 引用”操作开发了一个扩展,该 dll 负责不同项目之间的一些类共享等。一切都在我的本地机器上运行,现在我想创建一些用户友好的软件包,以便我们公司的所有人员也可以使用它。到目前为止我有

  • 我需要将 2 个 dll 和 1 个配置文件复制到 Visual Studio IDE 的 PrivateAssemblies 文件夹中
  • devenv.exe.config 文件中的一个(相对)简单更改

是否有一些支持的方式来创建插件/插件/扩展,可以帮助我自动执行此操作,而不必关心必要文件夹等的权限,或者我最好编写一个简单的部署工具并告诉这些人以提升的权限运行它?

编辑:我需要这两个步骤的原因是我开发了一个 SchemaImporterExtension 需要在 VS IDE 的配置文件中注册(或者在 machine.config 中,但我认为这不会是更容易)并且包含它的库必须可以通过解析机制访问(也许还有其他一些地方也可以找到它,GAC当然也可以)

编辑 2:最后我简单地创建了一个安装项目,它执行这两个步骤,甚至在卸载时将配置文件恢复到原始状态。我显然在寻找错误的方向,因为我实现的远非一个插件。无论如何感谢您的提示;)

【问题讨论】:

  • 您能否评论一下 devenv.exe.config 的更改以及为什么需要将程序集放入 PrivateAssemblies 中?做这些事情会阻止用户使用 VSIX 进行部署,因此如果您可以避免这些事情,那么部署会变得更加容易。
  • 我在编辑中包含了更多信息;)
  • 对于解析机制的可达性,您可以使用 .pkgdef 文件将程序集添加到 VS 的探测路径。请参阅此BindingPaths.pkgdef file(只需将 GUID 更改为其他一些随机 GUID 并将 pkgdef 文件包含在您的 source.extension.vsimanifest 中)。不过,我不确定配置文件中的注册情况:(

标签: c# .net visual-studio visual-studio-2010 vsix


【解决方案1】:

xcopypatch(或者只是写一些简单的东西来修改配置文件)。

将这一切包装在一个批处理文件/脚本中。

【讨论】:

  • 是的,这就是我打算做的事情,但问题更多的是如果有一些更好的部署方式:)
【解决方案2】:

是的,VSIX 文件用于打包(和潜在的重新分发)VS 扩展。

详细信息包含在 VS SDK 文档中,例如here.

编辑:另请参阅 SO 上的“vsix”标签。

【讨论】:

  • 您不能使用 VSIX (a) 将程序集放入 PrivateAssemblies 或 (b) 更改 devenv.exe.config,因此此解决方案将不起作用。
  • 不幸的是,这是我经过一段时间的实验后学到的:(
【解决方案3】:

查看FeatureBuilder 插件以更轻松地创建插件。 (Channel9 上有一些演示视频。

【讨论】:

    猜你喜欢
    • 2017-12-24
    • 1970-01-01
    • 1970-01-01
    • 2013-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多