【问题标题】:How to include all files in a project when publishing from Powershell从 Powershell 发布时如何在项目中包含所有文件
【发布时间】:2012-02-22 18:59:19
【问题描述】:

我正在尝试使用 Powershell 发布一个 .Net Web 应用程序。我想发布“此项目中的所有文件”,但它似乎只发布“仅运行此应用程序所需的文件”。当我从 Visual Studio 2010 发布时,它工作正常。

这是我的命令:

& msbuild "$WebProjectFile" /verbosity:minimal "/t:ResolveReferences;_CopyWebApplication;publish" /p:Configuration=Release /p:OutDir="$PublishPath\bin\" /p:WebProjectOutputDir="$PublishPath"

有什么想法可以做到这一点吗?

【问题讨论】:

  • 有完整源代码的最终解决方案吗?

标签: visual-studio-2010 powershell msbuild


【解决方案1】:

一些注释,因为我不确定到底是什么不起作用: - 所有参考资料的 CopyLocal 设置为 true - 将特定的副本文件添加到您的构建脚本中

<Copy SourceFiles="@(ProjectBinFiles)" DestinationFolder="$(StageBin)\%ProjectBinFiles.RecursiveDir)" />

以下是关于并非所有文件都复制的类似问题:

MSBuild target _CopyWebApplication does not copy all necessary files to the bin folder

不确定这是否有帮助。

-亚当

[编辑:试图撤消我的编辑]

【讨论】:

  • thx... 我不确定如何处理该代码。我把它放在哪里?
【解决方案2】:

alitek 为我指明了正确的方向,我最终使用 Robocopy 复制丢失的文件:

& robocopy "{folder with missing files}" "$PublishPath\{folder to put missing files}" /MIR /NJH /NJS /NFL /NDL

注意事项:

  • 这对我来说非常有效,因为我丢失的所有文件都来自一个目录
  • /NJH /NJS /NFL /NDL 开关仅用于阻止 Robocopy 将其进度吐出到屏幕上

【讨论】:

  • 任何没有 robocopy 的解决方案?
猜你喜欢
  • 1970-01-01
  • 2017-06-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-23
  • 1970-01-01
相关资源
最近更新 更多