【问题标题】:Visual Studio duplicating resource .cs fileVisual Studio 复制资源 .cs 文件
【发布时间】:2014-05-06 19:18:04
【问题描述】:

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

示例:假设我的资源文件名为 ProjectSQL.resx。如果您在解决方案资源管理器中展开 ProjectSQL.resx,它会显示 ProjectSQL.Designer.cs。当我对 ProjectSQL.resx 中定义的一个查询进行编辑时,它保存得很好,但会创建另一个名为 ProjectSQL1.Designer.cs 的文件。

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

以前有人遇到过这个问题吗?你怎么修好它的?我尝试关闭解决方案并重新打开,以及重新启动 Visual Studio。感兴趣的人可以在 Windows 7 Ultimate 上使用 VS 2010 Premium。

【问题讨论】:

标签: visual-studio-2010 resource-files


【解决方案1】:

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

我仍然不知道这是怎么发生的。但至少现在已经解决了。

【讨论】:

  • 正是我想要的。谢谢!
  • 成功了。顺便说一句,要编辑项目文件,您只需卸载项目,右键单击项目并选择“编辑项目文件”而不关闭解决方案。刚刚发现这个(在 VS 2015 中)所以我想分享。
  • 为什么会发生这种情况?
  • 感谢 Felipe 播种并感谢 @iandisme 进行验证
【解决方案2】:

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

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

使用如下代码:-

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

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

【讨论】:

  • 每次我必须更改 de .csproj 时,我都觉得这是一种解决方法。它对我有用。谢谢。
【解决方案3】:

清除“自定义工具”条目。适当的 rpt 文件,它位于右键单击 rpt 文件 --> 属性 ---> 自定义工具 ---> 清除

【讨论】:

    猜你喜欢
    • 2012-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多