2010-07-06 68 views
1

我有一个类库,我想从我的.NET应用程序调用以及通过COM和从例如Excel中调用。覆盖.NET类库的配置文件位置?

该类库需要从配置文件中获取一些值。当从我的.NET应用程序引用时,我当然可以将它需要的东西放在app.config中。但是我从excel调用时不能这样做。

有没有办法从Excel调用时覆盖配置文件的位置?

回答

1

不完全。你可以做的是使用ConfigurationManager.OpenExeConfiguration打开一个特定的配置文件,并从那里读取配置设置。但是,这是为什么类库不直接引用应用程序配置的好主意:库被设计为跨应用程序重用,而不同的应用程序可能有不同的指定配置选项的方式。这不仅适用于Excel。

相反,您应该设计您的库,以便将控制其行为所需的任何选项设置为属性,或者将其作为方法参数传递,无论哪个更适合API的选项和样式。

+0

好点,通常我会完全同意他们。 在这种情况下,尽管类库实际上只是Web服务的一个简单包装。我们用这个DLL的目标是,当人们从Excel中添加引用时,他们不必担心设置Web服务的URL或用户名\ password。这些都嵌入在某个.config文件中,可能是加密的。 – mutex 2010-07-06 23:22:35

0

如果您正在使用应用程序设置并且想要控制它们的保存/加载位置,那么this answer会提供有关如何执行此操作的信息。