修改
有关信息,我正在使用VS Code
开发macOS我正在尝试在发布过程中包含文件(目前cshtml
代表我的电子邮件模板)。
我在github上关注这个thread,但似乎他们的解决方案对我不起作用。
这里我的csproj添加了一个唯一的cshtml
文件:
<Target Name="PrepublishScript" BeforeTargets="PrepareForPublish">
<ItemGroup>
<EmailFile Include="$(ProjectDir)/EmailTemplates/OrderCompleteEmail.cshtml" />
</ItemGroup>
<Copy SourceFiles="@(EmailFile)" DestinationFolder="$(PublishDir)" SkipUnchangedFiles="false" />
</Target>
答案 0 :(得分:6)
您的解决方案几乎是正确的,您必须使用AfterTargets="Publish"
:
<Target Name="CopyCustomContentOnPublish" AfterTargets="Publish">
<ItemGroup>
<EmailFile Include="EmailTemplates/OrderCompleteEmail.cshtml" />
</ItemGroup>
<Copy SourceFiles="@(EmailFile)" DestinationFolder="$(PublishDir)" />
</Target>
您还可以将单个目标中的所有电子邮件模板复制到同一文件夹,例如:
<Target Name="CopyCustomContentOnPublish" AfterTargets="Publish">
<ItemGroup>
<EmailTemplates Include="EmailTemplates\*.cshtml" />
</ItemGroup>
<Copy SourceFiles="@(EmailTemplates)" DestinationFolder="$(PublishDir)%(EmailTemplates.RelativeDir)" />
</Target>