2010-10-14 38 views
3

當我創建控制檯應用程序時,我可以右鍵單擊Visual Studio 2008 Pro中的項目。單擊屬性>前往設置輸入應用範圍設置,然後從代碼中訪問它像從類訪問Properties.Settings.Default?

Console.WriteLine(Properties.Settings.Default.MySetting.ToString()); 

當我做同樣的事情在一類項目,並嘗試分配的Applicatin範圍設置爲可變像

this.mySettingVariable = Properties.Settings.Default.MySetting.ToString(); 

我在建立「名稱'屬性'在當前上下文中不存在時出現錯誤。」

我在做什麼錯了,我怎樣才能訪問一個類項目的應用程序範圍的屬性?

回答

5

您忘了將設置添加到類庫項目。您不能直接訪問EXE項目的設置。

給它一個類庫項目自己的設置是可能的,但它是一個麻煩。一個DLL不能有它自己的.config文件,只有一個:app.exe.config文件。您必須手動將DLL的app.config文件中的條目合併到app.exe.config文件中。使用文本編輯器複製並粘貼。這不是很好維護。

另一種方法是使這些設置屬性的類。讓主項目中的代碼從它自己的設置中初始化它們。或者只是溝設置,因爲他們的皮塔餅和使用.xml文件。

+0

非常感謝。我一直在嘗試讀取我的.dlls設置,但無法調用Properties.Settings。 – 2014-08-28 19:12:42

0

確保您在'usings'中包含了命名空間。

還要確保設置類是公開的。

+0

設置訪問修飾符設置爲內部(我認爲會很好)我​​更改爲公共但仍然有同樣的問題 – etoisarobot 2010-10-14 15:52:11

0

here

拉到由於不存在類庫沒有配置文件 模型,應用 設置不辦理 類庫項目。例外是 Visual Studio Tools for Office DLL 項目,該項目可能有一個 配置文件。

+0

但類庫仍可以設置:) – leppie 2010-10-14 15:42:46

+0

不應用範圍...這是什麼OP提到。我相信用戶級別的設置就足夠了。 – 2010-10-14 15:44:11

+1

我一直都在使用此功能。相信我的作品。您可以從主app.config文件中設置所有設置。或者web.config。 – leppie 2010-10-14 15:45:12

0

是你的.settings文件在項目的Properties文件夾下?

+0

是的我在課堂頂部有「使用System.Configuration」 – etoisarobot 2010-10-14 15:49:27

+0

@TooFat - 請參閱我的關於設置文件位置的編輯。 – 2010-10-14 15:51:35