visual-studio - Visual Studio加载项应在哪里存储其设置?

标签 visual-studio visual-studio-2010 settings add-in

目前,我正在将自定义加载项的设置存储在注册表中,但这似乎有点麻烦。我想知道是否有一个官方的位置来存储加载项设置。我的偏好是将它们存储在Visual Studio存储设置的位置,以便可以轻松导出和导入它们。

是否可以将加载项设置与Visual Studio设置一起存储,还是有更好的方法?

最佳答案

编辑

我对该主题的最初答案是使用多年后发现的几个问题。为了完整起见,我将其包括在下面,但这是我对此的最新想法。

在VSIX中,应用程序设置的使用不是版本安全的。存储的设置文件路径的位置部分包括版本字符串和可执行文件的哈希。当Visual Studio安装正式更新时,这些值会更改,因此更改设置文件路径。 Visual Studio本身不支持使用应用程序设置,因此它不会尝试将该文件迁移到新位置,并且所有信息实际上都会丢失。
支持的设置方法是WritableSettingsStore。它与应用程序设置非常相似,并且很容易通过SVsServiceProvider访问

public static WritableSettingsStore GetWritableSettingsStore(this SVsServiceProvider vsServiceProvider)
{
    var shellSettingsManager = new ShellSettingsManager(vsServiceProvider);
    return shellSettingsManager.GetWritableSettingsStore(SettingsScope.UserSettings);
}

原始答案

最直接的方法是使用.Net的Application Settings基础结构来存储任何设置。这是一个成熟的框架,具有设计人员支持,可以为您的项目添加设置基础结构。

但是,它不与Visual Studio的导入/导出设置基础结构集成。使该工作正常进行是一个非常复杂的过程,包括将您自己注册为VSPackage,实现设置架构等...我通常发现运行它确实不值得(永远不会成功)

关于visual-studio - Visual Studio加载项应在哪里存储其设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3534804/

相关文章:

c# - 更改另一个类中对象的属性?

c++ - Oracle 数据库中的 OCCI - 在 OCI.dll 库中找不到过程 OCIPIsDescRebuilt 的入口点

android - 检查电话设置以获得触觉反馈

android - 联系人 CursorLoader 返回空结果

android - 为什么列表首选项中的条目没有显示在应用程序中?

visual-studio - 共享所有 Resharper 代码格式化/检查选项

c# - ServiceStack:添加 Blazor 支持?

c++ - 在 C++ MFC 中使用 EnableMDITabbedGroups 时如何保留文档 Tab 键顺序

c# - Visual Studio 添加与 dll 同名的可执行文件

visual-studio - 在 Visual Studio 2013 中,如何将代码分析限制为我的代码而不是引用的程序集?