我正在开发用于.NET 3.5 Framework的.NET应用程序.最近我创建了名为WorkersScreen的新表单.当我尝试运行该项目时,我收到此错误:
Error 1 Two output file names resolved to the same output path: "obj\x86\Debug\DryWash.WorkersScreen.resources" DryWash
Run Code Online (Sandbox Code Playgroud)
这是什么意思?
Wim*_*ets 78
如果两个.resx文件指向同一个表单,则会发生这种情况.重命名表单时大多数情况(其他原因可能适用,我不完全确定)
如果您的特定表单文件如下所示:
Form1.cs
Form1.designer.cs
MyFormerFormName.resx
Form1.resx
Run Code Online (Sandbox Code Playgroud)
然后,这通常意味着您重命名了表单,但Visual Studio没有删除旧的.resx文件.MyFormerFormName.resx手动删除文件(在此示例中)后,错误应在下次构建时消失.
Car*_*doc 31
截至16年8月3日这个工作对我来说!
首先通过右键单击项目卸载项目,然后单击卸载项目.
再次右键单击您的项目,然后单击编辑项目.
它将显示一些代码,查找重复值,在我的情况下看起来像这样
<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>
Run Code Online (Sandbox Code Playgroud)
注意这一部分,它是重复的!
<EmbeddedResource Include="frmVisual.resx">
<DependentUpon>frmVisual.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmVisual.resx">
<DependentUpon>frmVisual.vb</DependentUpon>
</EmbeddedResource>
Run Code Online (Sandbox Code Playgroud)
删除其中一个,使它看起来像这样
<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>
Run Code Online (Sandbox Code Playgroud)
保存它,右键单击您的项目,然后单击重新加载项目.你完成了!
通常,如果您创建这样的迁移
Add-Migration "UpdateProducts"
Run Code Online (Sandbox Code Playgroud)
Visual Studio将使用类名称UpdateProducts创建迁移.如果稍后使用相同的迁移名称添加新迁移,它将生成具有类名称(如UpdateProducts1.)的迁移,并自动将增加的数字添加到末尾作为后缀.每次生成新迁移时,数字都会增加一个.
在我们的例子中,出于某种原因,VS感到困惑,并开始使用与现有迁移相同的类名生成后续迁移,以便有两个自动生成的具有相同名称的迁移.
只需更改新迁移的类名即可解决问题.
Aar*_*ide -2
我确认 WimOmbelets 在评论中给出的答案。当您在 VS2012 中重命名一个类时,显然会发生这种情况(我在以前的版本中从未遇到过这种情况)。
我不能确定这就是原因,但我做的一件事与正常方式不同,我使用F2对其进行重命名,而不是更改它然后按control-。
| 归档时间: |
|
| 查看次数: |
73889 次 |
| 最近记录: |