发布ABP项目时出现NETSDK1152错误:检测到多个相同相对路径的发布输出文件
问题原因
该报错为.NET 6及以上版本SDK引入的发布校验规则触发:NETSDK1152 代表发布过程中检测到多个来源的文件存在完全相同的输出相对路径,你当前场景下冲突的compilerconfig.json、package.json均为开发阶段使用的配置文件,无需跟随项目发布到输出目录,冲突分别来自官方Lepton主题包、你自定义的主题项目以及Web入口项目。
解决方案
方案1:精准排除不需要发布的开发配置文件(推荐)
在报错提示的Acme.BookStore.Web.csproj文件的<Project>根节点下添加如下配置,指定两个开发配置文件不参与发布:
<ItemGroup> <!-- 排除compilerconfig.json的发布和输出复制行为 --> <Content Remove="compilerconfig.json" /> <None Include="compilerconfig.json"> <CopyToOutputDirectory>Never</CopyToOutputDirectory> <CopyToPublishDirectory>Never</CopyToPublishDirectory> </None> <!-- 排除package.json的发布和输出复制行为 --> <Content Remove="package.json" /> <None Include="package.json"> <CopyToOutputDirectory>Never</CopyToOutputDirectory> <CopyToPublishDirectory>Never</CopyToPublishDirectory> </None> </ItemGroup>
如果你的Acme.BookStore.Theme自定义主题项目也配置了文件复制逻辑,在该项目的csproj文件中添加同样的配置即可。
方案2:临时关闭重复文件校验(不推荐)
如果需要快速验证发布流程,可以在Web项目csproj的<PropertyGroup>节点中添加如下配置,关闭该发布校验规则:
<ErrorOnDuplicatePublishOutputFiles>false</ErrorOnDuplicatePublishOutputFiles>
该方案会屏蔽所有重复输出文件的错误提示,可能遗漏其他实际存在风险的文件冲突,仅建议临时测试使用。
内容的提问来源于stack exchange,提问作者Nader Gharibian Fard
相关产品推荐
相关产品推荐

