# 错误信息
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 |