在 Visual Studio 发布的网站中包含丑化文件

Include uglified files in website publish from Visual Studio

我正在使用 ASP.NET 4.6(不是 5.0/Core),因为我感兴趣的一些 JS 库只能通过 NPM 获得,所以我正在试验新的 NPM 和 gulp MS 似乎推荐的基于管道。我基本上已经设法让一切正常工作并按照我想要的方式进行配置,但需要注意的是我还没有弄清楚如何将生成的缩小文件发布到网站而不将它们签入源代码并将它们明确包含在项目。 (TypeScript 设法做到了这一点,尽管我从未完全清楚如何做到这一点。)当然,我总是可以回过头来将它们检入源代码并将它们包含在项目中——但我以前做过,在TypeScript 的早期,我真的不喜欢它,而且它似乎不是 "right" 的方式。

有什么建议吗?是否有构建目标或类似的东西可以自动从给定的指定文件夹中获取所有内容(我认为 lib Core 使用的 lib 文件夹),然后发布这些目标?

此处对如何执行此操作有很好的描述:http://www.asp.net/mvc/overview/deployment/visual-studio-web-deployment/deploying-extra-files

简短版本是将其包含在 .pubxml 文件中:

 <Target Name="CustomCollectFiles">
    <ItemGroup>
      <_CustomFiles Include="..\ExtraFiles\**\*" />
      <FilesForPackagingFromProject Include="%(_CustomFiles.Identity)">
        <DestinationRelativePath>%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
      </FilesForPackagingFromProject>
    </ItemGroup>
  </Target>
  <PropertyGroup>
    <CopyAllFilesToSingleFolderForPackageDependsOn>
      CustomCollectFiles;
      $(CopyAllFilesToSingleFolderForPackageDependsOn);
    </CopyAllFilesToSingleFolderForPackageDependsOn>

    <CopyAllFilesToSingleFolderForMsdeployDependsOn>
      CustomCollectFiles;
      $(CopyAllFilesToSingleFolderForPackageDependsOn);
    </CopyAllFilesToSingleFolderForMsdeployDependsOn>
  </PropertyGroup>

只需要找到正确的 Google 关键字("msbuild publish build targets include other files",如果您有兴趣)将其打开。