当前上下文中不存在属性

Cip*_*her 30 c# wpf

我必须在项目的Settings文件中存储一些字符串.但是,我无法访问Settings文件来存储字符串.

我肯定已经在早期项目中访问过属性文件而没有遇到存储值的任何问题.

Properties.Settings.Default.test = ...
MyApp.Properties.Settings.Default.test = ...

但是在目前的项目中,Properties does not exist in the current context 由于Properties没有出现任何设置或因为其中没有出现在Intellisense中的设置或某些东西,我经常被激怒.

Dan*_*iel 44

当我复制并粘贴插件代码时,我遇到了同样的问题.事实证明,当我复制时,我不小心将其他项目的命名空间留在原地.通过将命名空间更改回适当的项目,我可以使用属性.

  • 查看项目中所有命名空间的简单方法是在Visual Studio中打开类视图.在旧命名空间中打开一个文件并重构该名称. (5认同)

Adr*_*son 19

在编译时,Visual Studio生成ac#类,允许访问用户和应用程序设置.生成的类在项目设置中指定的默认命名空间中定义.

  • 您可能必须使用项目设置中定义的默认命名空间为Properties命名空间的任何访问添加前缀;
  • 或者您可以更改默认命名空间:转到项目设置,应用程序选项卡,然后编辑项目的默认命名空间.


Dan*_*rth 6

通过转到项目属性并单击"设置"选项卡,确保项目具有设置文件.如果没有设置文件,它会告诉您并为您提供创建文件的选项.

  • 这就是为我解决问题的原因!一旦我按照您的描述创建了设置文件,“属性”对象就进入了范围。谢谢你。 (2认同)
  • 当我尝试重建时,在另一个工具中打开一个资源文件,显然把事情搞砸了,这解决了这个问题。我还必须删除仍然显示的资源文件,然后再次将它们添加回来。 (2认同)

God*_*ith 5

当我不小心将错误的命名空间用作项目属性中的默认命名空间时,出现此错误。

要选择默认命名空间,请右键单击“解决方案资源管理器属性”->“应用程序”选项卡->“默认命名空间”中的项目,然后检查它是否与 .cs 文件的命名空间匹配:

[...]
using System.Text;
using System.Threading;

    namespace Correct.Namespace //<-- should match Default namespace field
    {
        static class Program
        {
            [...]
Run Code Online (Sandbox Code Playgroud)