错误:两个输出文件名解析为相同的输出路径:“obj \ Debug \ Project1.Form1.resources”

我收到了错误:

Two output file names resolved to the same output path: "obj\Debug\Project1.Form1.resources" 

尝试运行我创建的Windows窗体应用程序时出现此错误。 一些搜索显示,这是由于两个.resx文件的出现而发生的。 我的应用程序中有两个.resx文件。 我的申请表中还有两种表格。 我通过复制第一个表单并重命名和修改副本来创建第二个表单。 两个.resx文件是form1.resx和form2.resx。 如何删除此错误?

虽然我不知道您为什么要这样做,但您可以使用这些说明正确复制表单。 不推荐。 最好inheritance或使用用户控件。 但如果你必须:

  1. 删除第二个表单。
  2. 通过实际创建表单来重新创建它
  3. InitializeComponent方法从form1.designer复制到新表单
  4. 同时复制InitializeComponent下面的部分。
  5. form1的代码复制到新窗体,确保修复构造函数
  6. 请勿使用复制粘贴复制完整表格

编辑

当有人按下更改页面按钮时,您可以执行以下操作:

  private void button1_Click(object sender, EventArgs e) { Form2 frm = new Form2(NextPage); frm.Show(); this.Hide(); } 

现在这是非常基本的语法。 您可能希望拥有一个包含所有表单的主表单,这样您就不会一遍又一遍地创建新表单。

设计取决于您。 此示例将为您提供有关如何打开和关闭表单的基础知识。

如果您使用Windows10并且您具有CR-Cyrl-CS,CR-Latn-CS文化的本地化资源,也可能发生此错误。 Windows10不再支持它们了。

如果你不需要resx文件,你可以删除它们,这个问题就消失了。

就我而言,它没有向我显示2份.resx文件。 我只是重新启动Visual Studio 2010,问题就消失了。

我在我的项目中添加了两次名为FormSettings的第二种forms,后来我得到了所描述的错误。 为了解决这个问题,我从项目中删除了FormSettings。 之后,我将名称为FormSettings的所有文件重命名为FormSettingsOld。 当我构建应用程序时,它给出了有关FormSettings的错误。 我搜索了项目中包含对FormSettings的引用的所有文件。 我发现ProjectName.csproj正在引用FormSettings,我删除了与FormSettings相关的重复XML entris,例如

  FormSettings.cs   FormSettings.cs  

复制表单时,似乎将源表单的类名重命名为新表单的名称,至少在重命名新表单时是这样。 我恢复了目标表单的原始名称(类文件,构造函数和设计器文件)。 还要记住要对原始类名进行任何使用,因为这里也需要进行更改。 这解决了这个问题。 (Visual Studio 2010)