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

use*_*184 9 asp.net iis msbuild msdeploy

我正在尝试使用msbuild通过命令行创建Web部署包.我一直在搜索,发现以下命令

 msbuild myproject.csproj /t:package
Run Code Online (Sandbox Code Playgroud)

虽然它对我有用,但它只给了我视觉工作室在我们通过Packge/Publish Web选项卡创建Web部署包时返回的内容,其中"从运行此应用程序只需要文件"选项从下拉菜单中选择.但我希望我的Web部署包看起来与我从下拉菜单中选择"此项目文件夹中的所有文件"选项时所获得的完全相同.我已经浏览了这样的链接http://sedodream.com/2010/05/01/WebDeploymentToolMSDeployBuildPackageIncludingExtraFilesOrExcludingSpecificFiles.aspx.

但我想知道我是否真的需要自定义我的.csproj文件(在该帖子中描述它的方式),因为我想要的只是一个命令行(显然比我上面提到的更复杂)对于msbuild可以模仿"此项目文件夹中的所有文件"选项,用我项目的原始bin文件夹中的所有.dll 填充"web部署包的bin文件夹",并生成一个更全面的包.

jes*_*ing 7

在命令行中,只需添加/p:FilesToIncludeForPublish=AllFilesInProjectFolder到msbuild调用.当你在它时,你可能还想传递一个特定的配置来构建/p:Configuration=Release

所以:

 msbuild myproject.csproj /t:package /p:FilesToIncludeForPublish=AllFilesInProjectFolder /p:Configuration=Release
Run Code Online (Sandbox Code Playgroud)

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