2012-02-06 186 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

相关问题