我正在尝试通过命令行使用 msbuild 创建一个 Web 部署包。我到处寻找,发现了以下命令
msbuild myproject.csproj /t:package
虽然它对我有用,但它只给我当我们通过 Packge/Publish Web 选项卡创建 Web 部署包并从下拉菜单中选择“仅运行此应用程序所需的文件”选项时 Visual Studio 给我们返回的内容。但我希望我的 Web 部署包看起来与我从下拉菜单中选择“此项目文件夹中的所有文件”选项时得到的完全相同。我浏览过这样的链接 http://sedodream.com/2010/05/01/WebDeploymentToolMSDeployBuildPackageIncludingExtraFilesOrExcludingSpecificFiles.aspx .
但我想知道我真的需要自定义我的 .csproj 文件(就像那篇文章中描述的那样),因为我想要的只是一个用于 msbuild 的命令行(显然比我上面提到的更复杂)可以模仿“此项目文件夹中的所有文件”选项,该选项使用项目原始 bin 文件夹中的所有 .dll 填充“Web 部署包的 bin 文件夹”,并生成一个更全面的包。
最佳答案
在命令行中只需添加 /p:FilesToIncludeForPublish=AllFilesInProjectFolder
到您的 msbuild 调用。当您这样做时,您可能还想传递特定配置来构建 /p:Configuration=Release
所以:
msbuild myproject.csproj /t:package /p:FilesToIncludeForPublish=AllFilesInProjectFolder /p:Configuration=Release
提示:其中许多设置都存储在您的项目文件中。在记事本中打开文件并比较更改某些设置时所做的更改。 <propertygroup>
中的任何项目通常也可以使用 /p:
通过命令行传递参数。
关于asp.net - 如何使用 MSBuild 为此项目文件夹中的所有文件创建 MSdeploy 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29996480/