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

时间:2016-04-09 04:03:51

标签: asp.net npm gulp publish

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

有什么建议吗?是否存在构建目标或某种类型的东西,比如说,可以自动从给定的指定文件夹中抓取所有内容(比如ASP.NET核心使用的lib文件夹),并发布那些?

1 个答案:

答案 0 :(得分:1)

这里有一个很好的描述: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关键字(&#34; msbuild发布构建目标包含其他文件&#34;,如果您有兴趣)将其打开。