文件夹未复制到输出目录

时间:2019-12-12 16:11:29

标签: c# asp.net-core npm .net-core msbuild

我在ASP.NET Core 3.1 csproj文件中具有以下内容:

  // output data of each row
  $class = ' active';
  while($row = $result->fetch_assoc()) {
    echo '<div class="carousel-item col-md-4' .$class. '">
      <div class="card align-items-center">
        <img class="card-img-top img-fluid " src='.$row["wine_img"].' alt="Card image cap">
        <div class="card-body">
          <h4 class="card-title">'.$row["wine_name"].'</h4>
          <p class="card-text">'.$row["winetype_name"].' - '.$row["region_name"].'</p>
        </div>
      </div>
    </div>';
    $class = '';
  }

我正在 <ItemGroup> <Content Include="webroot\**"> <CopyToOutputDirectory>Always</CopyToOutputDirectory> </Content> </ItemGroup> <Target Name="Approot" BeforeTargets="BeforeBuild;BeforePublish"> <Exec WorkingDirectory="approot" Command="npm install" /> <Exec WorkingDirectory="approot" Command="npm run build --prod" /> </Target> 文件夹中构建客户端应用程序,并将结果保存到webroot文件夹。

我需要将webfoot文件夹复制到输出目录...

问题

构建时,文件位于webfoot文件夹中,但未复制到输出中。

所以我需要再次重建它,以便将webroot文件夹复制到输出...

似乎在Build之后运行了2个npm命令,但我使用的是BeforeBuild。

3 个答案:

答案 0 :(得分:0)

我尝试创建空白的.net core 3.1项目,当我单击“发布”时,在bin\Release\netcoreapp3.1中获得了发布文件夹

enter image description here

您可以查看我的完整csproj文件here

答案 1 :(得分:0)

尝试一下

<!-- your standard HTML here, nothing special -->
<script>
    // some boilerplate initialisation
    // Begin Swagger UI call region
    configObject.onComplete = () => {

        // get the authorization portion of the query string
        var urlParams = new URLSearchParams(window.location.search);
        if (urlParams.has('authorization')) {
            var apikey = urlParams.get('authorization');

            // this is the important bit, see documentation
            ui.preauthorizeApiKey('api key', apikey );// key name must match the one you defined in AddSecurityDefinition method in Startup.cs
       }
    }
    const ui = SwaggerUIBundle(configObject);
    window.ui = ui        
}
</script>

答案 2 :(得分:0)

您可以使用以下示例“强制”复制。它在React客户端应用程序上对我有用。

<Target Name="Approot" BeforeTargets="BeforeBuild;BeforePublish">
    <Exec WorkingDirectory="approot" Command="npm install" />
    <Exec WorkingDirectory="approot" Command="npm run build --prod" />

    <!-- Include the newly-built files in the publish output -->
    <ItemGroup>
      <DistFiles Include="approot\build\**" />
      <ResolvedFileToPublish Include="@(DistFiles->'%(FullPath)')" Exclude="@(ResolvedFileToPublish)">
        <RelativePath>%(DistFiles.Identity)</RelativePath>
        <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
      </ResolvedFileToPublish>
    </ItemGroup>
</Target>