I struggle to set the PublishDir value in the new .net core 3.1 csproj format. In the old csproj format I was able to set the value like this:
<PropertyGroup>
<PublishDir>..\test\path</PublishDir>
I was even able to use a Condition attribute in the PublishDir element to use different values depending on the build configuration.
Now with the new csproj I tried the same, but the PublishDir is still set to something like:
bin/Release/netcoreapp3.1/win-x64/app.publish
.
Where does this directory come from?
Only when I add the parameter via msbuild call with /p:PublishDir="..\test\path" the application gets published in the appropriate directory.
Is there anything else I need to take into consideration? Do I need to set the value after a specific target, like PrepareForPublish?
This is the solution I had mentioned in the comment before:
<Target Name="CustomPublishTarget" BeforeTargets="PrepareForPublish">
<ItemGroup>
<PublishDir Include="$(PublishDir)" />
</ItemGroup>
<PropertyGroup>
<PublishDir>..\test\path</PublishDir>
</PropertyGroup>
</Target>