DotNet / 编程技术 · 2022年8月26日

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文件保留,其他删除即可

最新电影,电视剧,尽在午夜剧场

电影电视剧午夜不寂寞