解決Visual Studio報錯 NETSDK1152: 找到了多個具有相同相對路徑的釋出輸出檔案
阿新 • • 發佈:2021-11-30
報錯:
C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.ConflictResolution.targets(112,5): 錯誤 NETSDK1152: 找到了多個具有相同相對路徑的釋出輸出檔案: D:\project1.xml, D:\project2.xml, D:\project3xml。
原因:
是專案多層引用(a引用了b、c,d引用了a、b、c),且被引用的專案生成了xml檔案,釋出時導致xml檔案重複 ,但.net 6.0下會觸發報錯。
解決辦法:
1. 被引用專案不要生成xml檔案【根本原因】;
2. 釋出時,將C:\Program Files\dotnet\sdk\6.x的sdk移出C:\Program Files\dotnet目錄;
3. 將C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.ConflictResolution.targets下<NETSdkError Condition="'$(_ResolvedFileToPublishContainsDuplicates)' == 'true'"設為false;
4. 在需要釋出專案的csproj裡新增<PropertyGroup><ErrorOnDuplicatePublishOutputFiles>false</ErrorOnDuplicatePublishOutputFiles></PropertyGroup>;