【发布时间】: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