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

时间:2013-09-12 07:36:49

标签: c# winforms visual-studio visual-studio-2012

我收到了错误:

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

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

6 个答案:

答案 0 :(得分:7)

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

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

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

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

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

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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

答案 4 :(得分:0)

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

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

答案 5 :(得分:-1)

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