C#Winform程序编译能通过,但调试运行时显示:两个输出文件名解析为同一个输出路径
错误信息:
严重性 代码 说明 项目 文件 行 禁止显示状态
错误 MSB3577 两个输出文件名解析为同一个输出路径:“obj\Debug\netcoreapp3.1\MT.Manager.FMSubtitle.resources” MT.Manager D:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets 3162
问题的原因:
就是当把一个WinForm窗体拆分为2个类文件时,2个类文件都产生了配对的resx文件
简而言之就是你把一个类声明为partial (也有可能是自动生成的),比如
public partial class FMSubtitle : Form {
…
}
这个类,并且在两个或多个文件中实现这个类
而每个文件又产生了配对的 .resx资源文件,就会导致这个问题
解决方法:
定位到是哪个类提示的这个异常,如我这里是提示,FMSubtitle.resources
然后查看所有实现了这个类的文件下面(在visualStudio的解决方案资源管理器里查看,.cs文件下左边有个小三角,展开之后 会显示)是不是有多余的 *.resx文件,删掉就好了,为了防止删错,请先备份
一般有一个为主的关联resx文件保留,其他删除即可