2011-05-31 79 views
1

我目前正在實施一個VSIX擴展工具窗口,它很快就會需要一個數據庫連接字符串查詢一些數據,顯示在工具窗口的開發商。我想讓這個連接字符串由開發者配置。由於開發人員不太可能經常更改配置設置,所以文件就足夠了。如何在Visual Studio 2010中實現vsix擴展的配置數據?

是否有可能只需使用一個app.config文件在同一文件夾中SLN文件,如果是的話,我必須使用一些自定義的配置設置包文件? NuGet似乎實現了這種方法,但我並不完全瞭解內部架構以瞭解如何使用配置文件。

我會很感激的任何其他辦法了。

編輯:

因爲我已經意識到,數據的動態配置存儲將成爲必須解決特定使得在一個解決方案中使用的一個工具窗口可以使用不同的特性到另一溶液。我想有一種可能性是使用.settings文件來存儲單個配置文件的位置,該配置文件本身存儲與不同解決方案有關的信息。

回答

2

存儲設置一個.vsix擴展的最好的地方是使用.settings文件。爲了創建一個執行下列操作

  • 右鍵單擊該項目,並選擇「屬性」
  • 轉到設置選項卡
  • 點擊鏈接創建一個默認的設置文件

這將在您的解決方案中創建幾個文件。

  • Settings.settings
  • Settings.Designer.cs

此外,它會彈出從中可以添加新設置的設計師。這些可以事後通過Settings.Default靜態屬性訪問

+0

這看起來前途無量,但我既然意識到我需要動態存儲的屬性必須是具體的解決方案,因此放置在解決方案文件夾的單獨的配置文件,甚至更好的約定(MySolution.customtool.config)命名。 – Mark 2011-06-01 00:18:47

+0

應用程序設置的限制您不能在承載.NET Framework的非託管應用程序中使用應用程序設置。在Visual Studio加載項,C++ for Microsoft Office,Internet Explorer中的控制託管或Microsoft Outlook加載項和項目等環境中,設置不起作用。 – 2011-10-26 15:37:49

+0

@aloneguid是什麼讓你相信?我始終在我的VSIX加載項中使用應用程序設置,並且它工作正常。 Visual Studio是託管.Net Framework的本機進程。 – JaredPar 2011-10-26 15:42:21

3

去過那裏,在我看來,內建機制的效果最好,詳細演練:http://msdn.microsoft.com/en-us/library/ff460144.aspx

從自我添加筆記,我可以看到,底層的實現用途系統註冊表子項。但是,在卸載VSIX擴展之後,所有密鑰都會自動刪除,因此您的擴展程序不會污染離開孤立條目的系統。

相關問題