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

时间:2012-02-06 16:17:50

标签: c# visual-studio

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

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

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

产生的错误是:

  

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

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

这是解决方案窗口:

enter image description here

10 个答案:

答案 0 :(得分:13)

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

答案 1 :(得分:8)

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

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

答案 2 :(得分:7)

与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文件不是一个好的解决方案。有关详细信息,请参阅here

答案 3 :(得分:4)

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

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

答案 4 :(得分:3)

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

答案 5 :(得分:1)

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

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

答案 6 :(得分:0)

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

答案 7 :(得分:0)

我通过删除"内部"解决了这个问题。在我的Resources类定义中。然而,正如 slfan 所说,它回到了内部"每次编辑后你做。所以一定要先检查出来。

答案 8 :(得分:0)

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

答案 9 :(得分:0)

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