[英]dotnet publish doesn't include files generated during post build event
Here is part of my A.csproj
: 这是我的
A.csproj
一部分:
<ItemGroup>
<Content Include="..\..\Payloads\**\*.*">
<Link>Payloads\%(RecursiveDir)%(FileName)%(Extension)</Link>
<CopyToOutputDirectory>None</CopyToOutputDirectory>
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
</Content>
</ItemGroup>
Payloads
directory is created in a project B
which is referenced from project A
Payloads
目录是在项目B
创建的,而项目B
是从项目A
引用A
B.csproj
<PropertyGroup>
<PostBuildEvent>
xcopy /I /S /R /Y /d $(TargetDir)*.* $(SolutionDir)Payloads\Content
</PostBuildEvent>
</PropertyGroup>
Payloads
directory doesn't exist in publish
directory when I run dotnet publish
运行
dotnet publish
时, Payloads
目录在publish
目录中不存在
Info 信息
dotnet SDK version 2.0, ASP.NET Core 2.0 on .NET 461 framework
It seems like publish content is calculated before the build. 似乎发布内容是在构建之前计算的。 When I run dotnet publish if
Payloads
exists it is deployed correctly. 当我运行dotnet publish时,如果
Payloads
存在,则它已正确部署。 This is just simplified example of my projects. 这只是我的项目的简化示例。 How can I fix this?
我怎样才能解决这个问题?
I replaced 我更换了
<ItemGroup>
<Content Include="..\..\Payloads\**\*.*">
<Link>Payloads\%(RecursiveDir)%(FileName)%(Extension)</Link>
<CopyToOutputDirectory>None</CopyToOutputDirectory>
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
</Content>
</ItemGroup>
With 同
<Target Name="AddPayloadsFolder" AfterTargets="AfterPublish">
<PropertyGroup>
<PayloadsDirectory>$(SolutionDir)Payloads</PayloadsDirectory>
</PropertyGroup>
<Exec Command="xcopy.exe /I /S /R /Y /d $(PayloadsDirectory) $(PublishDir)Payloads" Condition="!Exists('$(PublishDir)Payloads')" />
<Exec Command="xcopy.exe /I /S /R /Y /d $(PayloadsDirectory) $(PublishUrl)Payloads" Condition="!Exists('$(PublishUrl)Payloads')" />
</Target>
The version with PublishUrl is for Visual Studio. 带有PublishUrl的版本适用于Visual Studio。 It uses it for compatibility.
它用于兼容性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.