这个文件是我想要能够以完全相同的方式使用它的原因。有一些设置可以在PowerShell中操纵,以将应用程序推送到具有不同配置的多个站点。
我查看了“msbuild target:publish”,它仅生成(从包含.csproj的目录运行):
MSBUILD : error MSB1009: Project file does not exist.
Switch: target:publish
我尝试使用 "msbuild projectfile target:publish" 命令,它会产生以下输出:
MSBUILD : error MSB1008: Only one project can be specified.
Switch: target:build
我还看了几个msdeploy的变种。难道这很困难吗?如果你可以在工作室中右键单击,肯定有某个可以执行该任务的东西。
我开始怀疑这是否需要满月并割掉鸡头。(我在这上面花费了太多时间!)
**编辑:我尝试了Lee的建议:
msbuild target:publish Mvc.csproj
这会产生以下错误:
MSBUILD : error MSB1008: Only one project can be specified.
Switch: Mvc.csproj
For switch syntax, type "MSBuild /help"
**编辑:根据DaveE的建议,我尝试了以下方法:
msbuild target:publish Mvc.csproj
这会导致产生错误:
MSBUILD : error MSB1009: Project file does not exist.
Switch: target:publish=PassportHealth.PatientSimple.Mvc.csproj
我也看了一下“发布”目标的文档(http://msdn.microsoft.com/en-us/library/ms165431.aspx),它明确说明语法应该是:
msbuild target:publish
所以,经过多次阅读后我的结论是:发布目标是用于单击部署.exe文件,而不是MVC Web站点。我找到了http://weblogs.asp.net/scottgu/archive/2010/09/13/automating-deployment-with-microsoft-web-deploy.aspx,该链接相当清楚地说明了此事。然而,我仍然不知道如何通过msdeploy命令使用"publish.xml"文件。
msbuild /t:Publish proj_file.csproj
。 - Lee