是否有Visual Studio加载项的配置类型文件?

gou*_*dos 5 c# configuration .net-4.0 visual-studio-2010 vs-extensibility

创建Visual Studio加载项时,如何使用app.config加载项.如果我将一个添加到项目并进行部署,那么当加载项运行时,我以编程方式尝试通过ConfigurationManager.AppSettings访问它,它不会获取加载项的配置文件.
我是做错了还是有另外一种方法来访问加载项的基于文件的配置设置?

Rus*_*ure 8

ConfigurationManager.AppSettings选择要加载的AppDomain的配置文件.该配置文件通常是与入口点可执行文件相关联的文件.在您的情况下,您不控制入口点可执行文件或您运行的AppDomain,因此您无法使用ConfigurationManager.AppSettings.

你的问题基本归结为"我怎么能有一个与DLL相关的配置文件?" (C#Dll配置文件).你需要做两件事:

  1. 将应用程序配置文件项添加到项目中,并确保将其部署到与DLL相同的文件夹中.
  2. 使用以下代码从DLL访问配置文件:

     string pluginAssemblyPath = Assembly.GetExecutingAssembly().Location;
     Configuration configuration = ConfigurationManager.OpenExeConfiguration(pluginAssemblyPath);
     string someValue = configuration.AppSettings.Settings["SomeKey"].Value;
    
    Run Code Online (Sandbox Code Playgroud)

这肯定适用于未使用卷影副本加载的常规DLL.我不确定VS如何加载它的插件.如果您遇到问题,请告诉我,我可以发布一个解决方案来处理通过卷影副本加载的DLL.