2012-02-06 123 views
5

我正在嘗試在我的項目中使用應用程序設置。類型或名稱空間名稱'屬性'不存在

當我在項目中嘗試下面的代碼行時,出現錯誤。

TransferLogs.Properties.Settings.Default.ValleyLastRun = timeNow;

產生的錯誤是:

類型或命名空間名稱「屬性」不存在命名空間存在「Williams.TransferLogs」

(是否缺少程序集引用?)

我在Project-> Properties-> Settings頁面上將「ValleyLastRun」設置定義爲DateTime。我不知道爲什麼我不能在我的項目中引用該設置。

這裏的解決方案窗口:

enter image description here

+0

你試過了一個乾淨的版本嗎 – 2012-02-06 16:20:12

+4

發佈你的項目解決方案資源管理器窗口的屏幕截圖,其中包含引用顯示的父代碼以及使用它的代碼。重新尋找是命名空間是否正確,如果項目實際上持有對p的引用roject,它是什麼類型的參考(GAC或項目參考)以及是否正確設置。你也可能想要清理和重建,看看是否解決了這個問題。另外,它是什麼類型的項目? – 2012-02-06 16:20:48

+0

如果屬性是一個類,它是否設置爲公共? – 2012-02-06 16:25:22

回答

7

問題是關係到你的資源文件。默認情況下,設置生成爲內部。您可以在設置上方的下拉框中更改該設置。

這個類的構造函數有時會有問題,因爲它仍然是內部的。您可以手動更改,但在每次設置編輯之後,它都會重置爲內部。

12

如果您更改了命名空間,也可能會出現此問題。

+1

另請注意,更改名稱空間可能僅需要更改命名空間或命名空間某些部分的大小寫。因此,假設您在項目設置中更改命名空間的大小寫,然後更改項目文件(如屬性)的訪問修飾符,然後它將選取新的「包含」命名空間......但是如果所有表單都引用了一個說法,則以前的UPPER套管命名空間,並且已將項目名稱空間更改爲ProperCase,它們將無法找到「新」項目屬性或資源文件,因爲它將使用ProperCase自動生成。 – rism 2013-08-18 08:04:35

+1

這是我的問題:我已將Program.cs名稱空間從Foo更改爲Bar.Foo,而無需在項目屬性中對其進行更改。 Settings.Designer.cs類當然是在命名空間Foo中生成的,這毫不意外地阻止了我從Program.cs中引用它。 – Godsmith 2014-12-19 15:25:24

4

我遇到了這個錯誤,因爲我的Settings.settings文件在svn更新後消失了(不是解決這個問題的辦法,但可能會幫助其他人)。

要修復轉到項目屬性,設置並單擊鏈接創建設置文件。之後它神奇地生成項目中使用的屬性。

7

和user1959018一樣,我也遇到了這個錯誤信息,雖然比OP的原因不同,我會發布我最終發現我的問題和解決方案,以防萬一它幫助別人。

在項目的Properties文件夾中應該有(至少)兩個文件,Resources.resx和Resources.Designer.cs。在我的情況下,Resources.Designer.cs文件不知何故不再包含在項目中。這可以通過編輯(或恢復舊的.csproj文件),或通過使用Visual Studio的解決方案資源管理器「顯示所有文件」,然後右鍵單擊Resources.Designer.cs並選擇「Include in project」來解決, 。

信用證到期後,我在這裏找到了這個解決方案:http://social.msdn.microsoft.com/Forums/en-US/tfsbuild/thread/ebeca7a8-c7a3-4cb6-a40e-89c5fdb70c82 在NJLASSI的答案。

編輯:

只是重新包括在項目中Resources.Designer.cs文件是不是一個很好的解決方案。有關更多詳細信息,請參閱here

1

我有一個稍微不同的錯誤(但類似)。當我檢查Resources.Designer.cs時,它不在那裏。 (我升級到VS2013解決方案並轉移到Team Foundation VC)

右鍵單擊Resources.resx並使用「運行自定義工具」正確構建了Resources.Designer.cs。

0

由於您沒有應用程序的「屬性」部分,您會收到此錯誤。如果您在解決方案資源管理器中右鍵單擊該項目並選擇創建一個新的設置文件,則可以通過設置1.「yourinfo」訪問它。設置1和你的信息根據你的設置文件命名而改變。

0

我解決了這個問題,在我的Resources類定義中刪除了「internal」。然而,正如slfan所說,它會在每次編輯後回到「內部」。所以一定要先檢查一下。

3

我有問題,我的項目屬性沒有包含我在整個應用程序中使用的正確名稱空間( - >應用程序)。更改默認名稱空間有助於我訪問類中的資源和設置。

0

我在更改類庫的名稱空間時遇到此問題。當你添加一個設置文件時,它會創建一個使用命名空間的類(在Settings.cs中 - 「namespace YourNameSpace.Properties {....」。當我重命名我的命名空間時,它無法找到.Properties命名空間,因爲我拼寫它不同 新命名空間「命名空間YourRenamedNameSpace」,所以沒有「YourRenamedNameSpace.Properties」在Setting.cs中,我剛剛更正命名空間爲「命名空間YourRenamedNameSpace.Properties {....」和Properties.Settings是可用的namespace again

相關問題