类型或命名空间名称“属性”不存在

我正在尝试在我的项目中使用应用程序设置。

当我在项目中尝试以下代码行时,出现错误。

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

产生的错误是:

命名空间“Williams.TransferLogs”中不存在类型或命名空间名称“属性”(您是否缺少程序集引用?)

我在项目 – >属性 – >设置页面上将“ValleyLastRun”设置定义为DateTime。 我不知道为什么我不能在我的项目中引用该设置。

这是解决方案窗口:

在此处输入图像描述

该问题与您的资源文件有关。 默认情况下,设置将生成为内部。 您可以在设置上方的下拉框中更改它。

这个类的构造函数有时会出现问题,因为它仍然是内部的。 您可以手动更改,但在每次编辑设置后,它将重置为内部。

如果您更改了命名空间,也会出现此问题。

像user1959018一样,我也遇到了这个错误信息,虽然原因不同于OP,我会发布我最终发现我的问题和解决方案,以防它帮助其他人。

在项目的Properties文件夹中,应该(至少)有两个文件,Resources.resx和Resources.Designer.cs。 在我的情况下,Resources.Designer.cs文件以某种方式不再包含在项目中。 这可以通过编辑(或恢复.csproj文件的旧副本)或使用Visual Studio的解决方案资源管理器“显示所有文件”来修复,然后右键单击Resources.Designer.cs并选择“包含在项目中” 。

在信用到期的情况下,我在这里找到了这个解决方案: http ://social.msdn.microsoft.com/Forums/en-US/tfsbuild/thread/ebeca7a8-c7a3-4cb6-a40e-89c5fdb70c82在NJLASSI的回答中。

编辑:

只是在项目中重新包含Resources.Designer.cs文件不是一个好的解决方案。 有关详细信息,请参见此处

我遇到了这个错误,因为我的Settings.settings文件在svn更新后消失了(不是这种情况的解决方案,但可以帮助其他人)。

要修复转到项目属性,设置并单击链接以创建设置文件。 之后,它神奇地生成项目中使用的属性。

我遇到的问题是我的项目属性没有包含我在整个应用程序中使用的正确命名空间( – > Application)。 更改默认命名空间有助于我访问类中的资源和设置。

我有一个稍微不同的错误(但相似)。 当我检查Resources.Designer.cs时,它不存在。 (我正在升级到VS2013解决方案并转移到Team Foundation VC)

右键单击Resources.resx并使用“运行自定义工具”正确构建Resources.Designer.cs。

您收到此错误是因为您没有应用程序的“属性”部分。 如果右键单击解决方案资源管理器中的项目并选择创建新的设置文件,则可以通过Settings1。“yourinfo”访问它。 Settings1和yourinfo会根据您为设置文件命名的内容而更改。

我通过在Resources类定义中删除“internal”来解决这个问题。 然而,正如slfan所说,每次编辑后它都会回到“内部”。 所以一定要先检查一下。

当我更改类库的命名空间时,我遇到了这个问题。 当您添加设置文件时,它会创建一个使用命名空间的类(在Settings.cs中 – “命名空间YourNameSpace.Properties {….”。当我重命名我的命名空间时,它找不到.Properties命名空间,因为我拼写不同。新的命名空间“命名空间YourRenamedNameSpace”所以没有“YourRenamedNameSpace.Properties”在Setting.cs中,我刚刚将命名空间更正为“命名空间YourRenamedNameSpace.Properties {….”并且Properties.Settings再次在命名空间内可用。

出于某种原因,每当我编辑settings.settings时,它都会更改设置文件中的命名空间。 所以为了解决这个问题,我必须做以下两件事。 右键单击settings.cs,查看代码并更新文档顶部的命名空间以匹配项目>属性>应用程序中的命名空间。 其次,我必须单击解决方案资源管理器中settings.settings旁边的小箭头将其展开,然后右键单击settings.designer.CS。 在此文件中,我还必须更新命名空间。 我认为因为这个解决方案最初是从Visual Basic转换为c#,所以它以某种方式存储了旧的命名空间,并保持默认返回它。