两个输出文件名parsing为相同的输出

正在开发用于.NET 3.5 Framework的.NET应用程序。 最近我创build了一个名为c WorkersScreen的新窗体。 当我尝试运行该项目时,我得到这个错误:

Error 1 Two output file names resolved to the same output path: "obj\x86\Debug\DryWash.WorkersScreen.resources" DryWash 

这是什么意思 ?

这可能发生在两个.resx文件指向同一个表单的情况下。 主要发生在重命名表格(其他原因可能适用,我不完全确定)

如果你的特定的表单文件如下所示:

 Form1.cs Form1.designer.cs MyFormerFormName.resx Form1.resx 

那么通常意味着您重命名了该窗体,但Visual Studio并未删除旧的.resx文件。 一旦你手动删除文件(在这个例子中是MyFormerFormName.resx ),错误应该在下一次构build时消失。

截至8/03/16这对我工作!

首先通过右键单击项目来卸载项目,然后单击卸载项目

在这里输入图像说明

再次右键单击您的项目,然后单击编辑项目

在这里输入图像说明

它会显示你一些代码,寻找重复的值,在我看来是这样的

 <EmbeddedResource Include="frmTerminalSerial.resx"> <DependentUpon>frmTerminalSerial.vb</DependentUpon> </EmbeddedResource> <EmbeddedResource Include="frmVisual.resx"> <DependentUpon>frmVisual.vb</DependentUpon> </EmbeddedResource> <EmbeddedResource Include="frmVisual.resx"> <DependentUpon>frmVisual.vb</DependentUpon> </EmbeddedResource> <EmbeddedResource Include="My Project\Resources.resx"> <Generator>VbMyResourcesResXFileCodeGenerator</Generator> <LastGenOutput>Resources.Designer.vb</LastGenOutput> <CustomToolNamespace>My.Resources</CustomToolNamespace> <SubType>Designer</SubType> </EmbeddedResource> 

注意这个部分,它是重复的

 <EmbeddedResource Include="frmVisual.resx"> <DependentUpon>frmVisual.vb</DependentUpon> </EmbeddedResource> <EmbeddedResource Include="frmVisual.resx"> <DependentUpon>frmVisual.vb</DependentUpon> </EmbeddedResource> 

删除其中的一个,看起来像这样

 <EmbeddedResource Include="frmTerminalSerial.resx"> <DependentUpon>frmTerminalSerial.vb</DependentUpon> </EmbeddedResource> <EmbeddedResource Include="frmVisual.resx"> <DependentUpon>frmVisual.vb</DependentUpon> </EmbeddedResource> <EmbeddedResource Include="My Project\Resources.resx"> <Generator>VbMyResourcesResXFileCodeGenerator</Generator> <LastGenOutput>Resources.Designer.vb</LastGenOutput> <CustomToolNamespace>My.Resources</CustomToolNamespace> <SubType>Designer</SubType> </EmbeddedResource> 

保存它,右键单击您的项目,然后单击重新加载项目 。 你完成了!

通常情况下,如果您创build这样的迁移

 Add-Migration "UpdateProducts" 

Visual Studio将创build一个类名为UpdateProducts的迁移。 如果稍后使用相同的迁移名称添加新的迁移,它将生成类名为UpdateProducts1的迁移,自动将增加的数字作为后缀添加到结尾。 每次生成新迁移时,数字都会增加一个。

在我们的情况下,由于某种原因,VS感到困惑,并开始使用与现有迁移相同的类名生成后续迁移,以便有两个具有相同名称的自动生成的迁移。

只需更改新迁移的类名即可清除问题。

我做了一个search,我有同样的问题,这可能是因为你的表单有两个.resx,如果你试图删除一个,问题会消失我的forms:

 Form1.Designer.cs Form1.resx Log_in.resx Form1 

我删除Log_in.resx和我的程序再次工作

这只是发生在我身上。 我不小心“拖放”到另一个表格。 它最终制作了一个名为“副本”的副本。 我删除了它,问题就消失了。

当我运行“ Add Migration命令时,发生了这种情况,并为迁移类提供了与我的项目名称相同的名称。 我删除了所有迁移类,并添加了新的,再次解决scheme构build。

如果在使用EntityFramework时尝试Add-Migration出现此问题,则解决scheme很简单:删除Migrations文件夹(在解决scheme资源pipe理器中)并执行Enable-Migrations 。 如果需要备份迁移。

我有这个问题,这是因为我有一个自定义控件部分类

我不小心创build了一个.resx文件的部分

我想我是通过在部分类上打F7来做到这一点,并产生空的devise器forms。

删除部分类的.resx文件为我解决了它。 我正在使用版本控制,它显示这是一个新的文件。

希望这可以帮助

在所有项目中search错误列表中报告的类,就像在这个问题案例中一样, DryWash.WorkersScreen可以在具有不同文件名但是在相同类名内的另一个文件中重复。

当我不小心生成了与业务对象同名的迁移时,我遇到了这个问题。 解决方法是删除迁移,然后用不同的名称创build一个新的迁移。

对我来说,问题是复制和粘贴.aspx,而不是重命名类文件后面的代码,以匹配复制的aspx文件的名称。 更改后面的代码和devise器类名称工作。

我确认WimOmbelets在评论中给出的答案。 当你在VS2012中重命名一个类时,这显然会发生(我以前从未使用过)。

我不能确定这是什么原因,但是我做了一个与我的正常方式不同的事情,我用F2来重命名它,而不是改变它,然后按下control-。

我以为我会在遇到这个错误后至less在一个随机的论坛上发帖,希望能够缓解一些人的问题。 我搜查了很多谷歌网站,没有一个我的确切问题。 我的原因是相似的,但在某些方面有所不同。

我实际上有一个分布在多个文件的类。 这个class是一个表格class。 这本身是成功的,并没有造成问题。 但是,这导致新类保持其独特的文件名,同时保持分离的“类表格”代码。 这很可能不是犹太教的做法,但当时发生的事情并不多。 这似乎是一个很好的select,以避免杂乱无章的代码。 不用说,下次我只是使用区域或其他select。

当我试图从第二个文件中获取代码,然后复制/粘贴到一个只有一个类的新的非表单文件时,出现了这个错误,正如我原本打算把它变成一个库,并使代码更加合适一样可读。 由于我不知道究竟是什么原因造成了这个错误,而且发生了很多的变化,所以需要一些时间来跟踪。 即使在逆转代码之后,我也设法错过了一对方法。

包含具有initializeComponent和窗体构造函数(load)的类Form的主窗体的方法。 这些方法的第二个副本似乎导致相同的错误。 即使删除了额外的代码和额外的表单和resx文件。 我甚至尝试删除合法的Resx文件,因为它不是主动需要的。 我无法有效地跟踪它,因为任何错误指向这些代码段的合法版本。 Ctrl + F和备份副本是你的朋友。

希望能帮助别人

当我复制表单以重用大部分function,然后重新命名表单时,发生了这种情况。 我去了引用的目录,发现实际上只有一个文件,复制了有问题的文件,将其重命名为引用我的新表单的名称,然后将新文件粘贴回目录中。

我不认为这是一个好的做法(我是C#的新手),但它确实有效,而不必重新创build所有内容。 我还需要在整个解决scheme的几个地方更新表单名称,原始表单和新表单都令人惊讶。

复制表单似乎不是一个好主意。

在我的情况下,这个问题是由某个designer.resx文件的EmbeddedResource标记引起的,该文件以某种方式被添加到.csproj文件中。

具体如下:

 <EmbeddedResource Include="Forms\frmMenu.designer.resx"> <DependentUpon>frmMenu.designer.cs</DependentUpon> </EmbeddedResource> 

在我的选项中,帮助删除每个错误引发的表单* .resx

细节信息

在我们的项目中,我们有6 * .resx为每个本地化(DE,GB,SK,RU,SRB)forms,如果我(从VS)删除FormName.sr-Latn-CS.resx比错误消失。 如果我尝试删除FormName.en GB.resx它没有帮助。 错误消失只是为了删除sr-Latn-CS.resx(也许devise者不能解决两个 – )。 当我将项目从VS 2010 Win 7迁移到VS2010 Win 10时,我首先看到了这个错误。

当我使用Ctrl + R + R重命名其中一个Form类时,我有同样的问题,VS提供默认情况下重命名的东西。

然后我在两个不同的文件( * .cs )上有两个具有相同类名的类。

 class Bar { ... } // From Bar.cs class Bar { ... } // This should've been Foo, from Foo.cs 

两个Bar表示与其中一个不应该相同的资源文件。

这是一个微不足道的问题,但有时可能很难find原因,因为看着cs文件只是不能说哪一个是你应该找的。