错误:两个输出文件名解析为同一输出路径:“objDebugProject1.Form1.resources”

本文关键字:输出 路径 objDebugProject1 resources Form1 两个 错误 文件名 | 更新日期: 2023-09-27 18:31:11

我收到错误:

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

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

错误:两个输出文件名解析为同一输出路径:“objDebugProject1.Form1.resources”

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

  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();
  }

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

设计由您决定。 此示例将为您提供有关如何打开和关闭窗体的基础知识。

如果您不需要resx文件,则可以删除它们,此问题就会消失。

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

我在制作表单应用程序时遇到了这个问题。当我更改表单名称时,由于相同的错误而出现了编译问题。在Visual Studio中,我看到在窗体的子选项卡中创建了一个具有2个不同名称的.resx文件,我在"解决方案资源管理器"部分中更改了其名称。我删除了oldname.resx,它被修复了。

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

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

<Compile Include="FormSettings.Designer.cs">
<DependentUpon>FormSettings.cs</DependentUpon>
</Compile>
<Compile Include="FormSettings.Designer.cs">
  <DependentUpon>FormSettings.cs</DependentUpon>
</Compile>

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