MSBuild
4 TopicsNuget runtime references not copied to output in Desktop Bridge
I have a desktop bridge app, and I'm publish a self-contained project. The build target for the wapproject (Desktop Bridge) modifies the `RuntimeIdentifier` of all references to the legacy `win-x64` or `win-x86` RIDs, instead of `win10-x64` or `win10-x86`. As a result, Nuget packages with native dlls are not copied to the output directory. I have hacked my way around this by modifying the build metadata, but this could easily break in the future: ```xml <Target Name="PropsBeforeBuild" BeforeTargets="_BuildDependentProjects" AfterTargets="SetProjectReferenceProperties"> <PropertyGroup> <OriginalPublishProps>%(ProjectReferenceWithPublishProps.AdditionalProperties)</OriginalPublishProps> </PropertyGroup> <ItemGroup> <ProjectReferenceWithPublishProps> <SetConfiguration>%(ProjectReferenceWithPublishProps.SetConfiguration);RuntimeIdentifier=win10-x64</SetConfiguration> <AdditionalProperties>$(OriginalPublishProps.Replace("win-x64", "win10-x64"))</AdditionalProperties> </ProjectReferenceWithPublishProps> </ItemGroup> <Message Text="%(ProjectReferenceWithPublishProps.SetConfiguration);" /> <Message Text="%(ProjectReferenceWithPublishProps.AdditionalProperties);" /> <PropertyGroup> <RuntimeIdentifier Condition="'$(RuntimeIdentifier)' == 'win-x64' OR '$(RuntimeIdentifier)' == ''">win10-x64</RuntimeIdentifier> </PropertyGroup> </Target> ``` This works, but since the DesktopBridge target adds the modified reference (with the legacy RIDs) to `_MSBuildProjectReferenceExistent`, I get `MSB3243: No way to resolve conflict between ....` in the build output. At this point, I'm better off ditching the desktop bridge build targets entirely. Is there something I can do to resolve this?Solved1.7KViews0likes4Comments