调试与发布中.Net核心上的链接文件位置

时间:2018-10-17 05:40:25

标签: msbuild asp.net-core-2.0 csproj msbuild-task

我有一个 shared。{Environment} .json 文件,该文件作为链接文件添加到几个.Net core 2.1项目中。在构建项目或将发布的文件复制到输出目录时,如果发布正常,但在调试时不起作用,因为在项目运行时它将在项目目录中查找该文件,而不是在输出目录中查找。

为调试和发布解决此问题的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

对于linked files,它在项目目录下将不存在。

要解决此问题,您可以尝试使用csproj中的任务复制文件,如下所示:

  <ItemGroup>
    <Content Include="..\MVCPro\shared.{Environment}.json">
      <Link>shared.{Environment}.json</Link>
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </Content>
   </ItemGroup>

   <Target Name="CopyLinkedContentFiles" BeforeTargets="Build">
      <Copy SourceFiles="..\MVCPro\shared.{Environment}.json"  DestinationFolder=".\" SkipUnchangedFiles="true" OverwriteReadOnlyFiles="true" />
   </Target>