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

时间:2013-04-29 03:56:19

标签: c# visual-studio

这里有another thread,但我的问题不同了。我最终为我的特定问题找到了解决方案,我将在这里发布,以防其他人使用。

4 个答案:

答案 0 :(得分:5)

在项目的Properties文件夹中,应该(至少)有两个文件,Resources.resx和Resources.Designer.cs,后一个文件显示在Visual Studio的Solution Explorer中的Resources.resx下的较低级别。在我的例子中,Resources.Designer.cs文件以某种方式不再包含在项目中。这可以通过编辑(或恢复.csproj文件的旧副本)来修复。

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

编辑:

修复此问题并不像我原先想象的那么简单,因此最好是.csproj文件的旧副本可用,以便可以从那里恢复相关的行。以下是适用的行:

<Compile Include="Properties\Resources.Designer.cs">
  <AutoGen>True</AutoGen>
  <DesignTime>True</DesignTime>
  <DependentUpon>Resources.resx</DependentUpon>
</Compile>

<EmbeddedResource Include="Properties\Resources.resx">
  <Generator>ResXFileCodeGenerator</Generator>
  <SubType>Designer</SubType>
  <LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>

答案 1 :(得分:2)

重命名命名空间(在visual studio中使用ctrl-r,ctrl-r)时,文件Properties \ Resources.Designer.cs中的命名空间并不总是更改(在我的情况下是VS 2012)。

在我的情况下,PhaseControlMMI是新的命名空间名称:

namespace PhaseControlMMI.Properties {
    using System;

在此更改后,属性显示,并为我解决了它。

答案 2 :(得分:2)

在我看来,最简单的方法是强制VisualStudio重新生成任何Designer.cs文件的过程: 更改对象属性的值...

在我们的案例中:

  1. 转到Resources.resx属性
  2. 在“自定义工具命名空间”中键入任何文本,然后按Return键 (现在应该重新生成Resources.Designer.cs)
  3. 删除伪名称空间
  4. 所有人都应该重新开始工作。

    PS:VS2015修复了同样的问题......

答案 3 :(得分:0)

如果因为您不小心重命名了命名空间而发生了此错误,并且您仍然拥有Resources.Designer.cs文件,那么一个简单的解决方案就是打开该文件,只需将您的命名空间更改为正确的命名空间:

// in my case this was accidentally changed to DummyApp.Properties
namespace Tools.Properties { 
    using System;

将其更改为正确的命名空间(工具)后,错误就解决了。