如何使用 MSBuild 为此项目文件夹中的所有文件创建 MSdeploy 包

How to create MSdeploy Package using MSBuild for all files in this project folder

我正在尝试通过命令行使用 msbuild 创建一个网络部署包。我一直在搜索并找到以下命令

 msbuild myproject.csproj /t:package

虽然它对我有用,但它只给了我 visual studio 当我们通过带有 "only files needed to run this application" 选项 select 的 Packge/Publish Web 选项卡创建 Web 部署包时返回给我们的东西从下拉菜单中编辑。但是我希望我的 web 部署包看起来与我从下拉菜单中选择 select "All files in this project folder" 时得到的完全一样。我浏览过这样的链接 http://sedodream.com/2010/05/01/WebDeploymentToolMSDeployBuildPackageIncludingExtraFilesOrExcludingSpecificFiles.aspx.

但我想知道我是否真的需要自定义我的 .csproj 文件(在 post 中描述的方式)因为我想要的只是一个命令行(显然比我的更详细上面提到的)对于可以模仿 "All files in this project folder" 选项的 msbuild,该选项使用我项目的原始 bin 文件夹中的所有 .dll 填充 "bin folder of web deploy package" 和给我生成一个更全面的包。

在您的命令行中,只需将 /p:FilesToIncludeForPublish=AllFilesInProjectFolder 添加到您的 msbuild 调用中。当你这样做的时候,你可能还想传入一个特定的配置来构建 /p:Configuration=Release

所以:

 msbuild myproject.csproj /t:package /p:FilesToIncludeForPublish=AllFilesInProjectFolder /p:Configuration=Release

提示:其中许多设置都存储在您的项目文件中。在记事本中打开文件并比较更改某些设置时所做的更改。 <propertygroup> 中的任何项目通常也可以使用 /p: 参数通过命令行传递。