# 错误信息

C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.ConflictResolution.targets(112,5): error NETSDK1152: 找到了多个具有相同相对路径的发布输出文件:

# 官方文档解决属性 ErrorOnDuplicatePublishOutputFiles

# ErrorOnDuplicatePublishOutputFiles 属性与当 MSBuild 在发布输出中检测到重复文件时 SDK 是否生成错误 NETSDK1148 有关,但无法确定要删除的文件。 如果不希望生成错误,请将 ErrorOnDuplicatePublishOutputFiles 属性设置为 false

# 解决方法:在指定项目的 csproj 文件内加上如下代码

<PropertyGroup>
    <ErrorOnDuplicatePublishOutputFiles>false</ErrorOnDuplicatePublishOutputFiles>
</PropertyGroup>

# 发布命令,但是会替换所有文件

dotnet publish -c Release -o "D:\publish"

# 如果在项目发布的时候不想替换配置文件例如 appsettings.json

<ItemGroup>
    <Content Update="appsettings.json" CopyToPublishDirectory="Never" Condition="'$(Configuration)' == 'Release'"/>
</ItemGroup>

# 这句代码的意思是发布 Release 环境不复制配置文件

# CopyToPublishDirectory 属性值

  • Never 从不复制
  • Always 总是复制
  • PreserveNewest 复制最新的

# 扩展知识:如果项目包含第三方 Nuget 包可以查看 DotNET_Nuget

  • 将 myNuget 添加为源:
dotnet nuget add source 源链接 -n myNuget
  • 将 c:\packages 添加为本地源:
dotnet nuget add source c:\packages
  • 添加需要身份验证的源:
dotnet nuget add source 源链接 -n 自定义源名称 -u 账号 -p 密码 --store-password-in-clear-text
更新于 阅读次数

请我喝茶~( ̄▽ ̄)~*

Tianci 微信支付

微信支付

Tianci 支付宝

支付宝