Asp.net

如何使用 MSBuild 為該項目文件夾中的所有文件創建 MSdeploy 包

  • May 5, 2015

我正在嘗試通過命令行使用 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

**提示:**其中許多設置都儲存在您的項目文件中。在記事本中打開文件並比較更改某些設置時所做的更改。a 中的任何項目通常也可以使用參數<propertygroup>通過命令行傳遞。/p:

引用自:https://stackoverflow.com/questions/29996480