Visual Studio复制资源.cs文件

ian*_*sme 29 resource-files visual-studio-2010

Visual Studio已经开始表现出一种相当恼人的怪癖.当我编辑资源文件(使用设计器视图或直接编辑XML)时,它会创建一个重复的资源Designer.cs文件,导致项目无法构建.

示例:假设我的资源文件名为ProjectSQL.resx.如果在Solution Explorer中展开ProjectSQL.resx,它将显示ProjectSQL.Designer.cs.当我对ProjectSQL.resx中定义的其中一个查询进行编辑时,它保存得很好,但创建了另一个名为ProjectSQL1.Designer.cs的文件.

在该示例中,现在有两个具有相同类名的类文件,导致构建失败.

以前有人有这个问题吗?你怎么修好它的?我已经尝试关闭解决方案并重新打开,以及重新启动Visual Studio.对于那些感兴趣的人,在Windows 7旗舰版上使用VS 2010 Premium.

ian*_*sme 48

如果这种情况发生在其他人身上并且你发现自己在这里,Hans上面的评论指向了我的项目文件.我不得不关闭解决方案,LastGenOutput在项目XML文件中找到标记,并从ProjectSQL1将资源输出的名称更改回ProjectSQL.

我仍然不知道这是怎么发生的.但至少现在已经修好了.

  • 有效.顺便说一句,要编辑项目文件,您只需卸载项目,右键单击项目并选择"编辑项目文件"而不关闭解决方案.刚发现这个(在VS 2015中),所以我想分享. (2认同)
  • 为什么会发生这种情况? (2认同)

cad*_*108 11

在.csproj文件中替换如下代码:

<EmbeddedResource Include="Resources\ProjectSQL.resx">
   <Generator>ResXFileCodeGenerator</Generator>
   <LastGenOutput>ProjectSQL1.Designer.cs</LastGenOutput>
</EmbeddedResource>
Run Code Online (Sandbox Code Playgroud)

使用以下代码: -

<EmbeddedResource Include="Resources\ProjectSQL.resx">    
   <Generator>ResXFileCodeGenerator</Generator>
   <LastGenOutput>ProjectSQL.Designer.cs</LastGenOutput>
</EmbeddedResource>
Run Code Online (Sandbox Code Playgroud)

资料来源:http://www.codeproject.com/Questions/227676/Resource-file-regenerating