2010-07-06 69 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會提供有關如何執行此操作的信息。