ASP.NET Core 2-文件未发布

Orc*_*usZ 2 c# csproj asp.net-core

编辑

有关信息,我正在使用VS Code在macOS上进行开发

我正在尝试在发布过程中包括文件(当前cshtml代表我的电子邮件模板)。

我在github上关注了这个线程,但似乎他们的解决方案对我不起作用。

在这里我的csproj添加一个唯一的cshtml文件:

  <Target Name="PrepublishScript" BeforeTargets="PrepareForPublish">
    <ItemGroup>
      <EmailFile Include="$(ProjectDir)/EmailTemplates/OrderCompleteEmail.cshtml" />
    </ItemGroup>
    <Copy SourceFiles="@(EmailFile)" DestinationFolder="$(PublishDir)" SkipUnchangedFiles="false" />
  </Target>
Run Code Online (Sandbox Code Playgroud)

Dom*_*nik 9

您的解决方案几乎是正确的,您必须使用AfterTargets="Publish"

<Target Name="CopyCustomContentOnPublish" AfterTargets="Publish">
  <ItemGroup>
    <EmailFile Include="EmailTemplates/OrderCompleteEmail.cshtml" />
  </ItemGroup>
  <Copy SourceFiles="@(EmailFile)" DestinationFolder="$(PublishDir)" />
</Target>
Run Code Online (Sandbox Code Playgroud)

您还可以将单个目标中的所有电子邮件模板复制到同一文件夹,例如:

  <Target Name="CopyCustomContentOnPublish" AfterTargets="Publish">
    <ItemGroup>
      <EmailTemplates Include="EmailTemplates\*.cshtml" />
    </ItemGroup>
    <Copy SourceFiles="@(EmailTemplates)" DestinationFolder="$(PublishDir)%(EmailTemplates.RelativeDir)" />
  </Target>
Run Code Online (Sandbox Code Playgroud)