特定原因下,需要用命令行发布WEB API代码,于是在网上查了一下方式,很简单
msbuild 工程目录\yourWebApplication.csproj "/P:DeployOnBuild=True;PublishProfile=FolderProfile"
这个命令直接在vs2017的开发人员命令提示符中运行。
命令中的FolderProfile是要发布的配置文件,就是“右击工程,点发布”出来的那个文件名如图,最后发布的文件会生成在“目标位置”下。
但是这个命令需要写在bat中,那么就需要配置能运行msbuild的环境变量或者直接进入它的文件所在目录下运行。我的VS2017装在D盘。所以搜索到msbuild.exe的目录为:
D:\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\MSBuild.exe
这时在BAT文件中可以添加如下命令:
"D:\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\MSBuild.exe" 工程目录\yourWebApplication.csproj "/P:DeployOnBuild=True;PublishProfile=FolderProfile"
这样就好了,可以在Windows PowerShell中测试,基本上也可以发布成功。但有同事尝试了这个命令,没有报错却没有在目标文件中生成发布文件,找了半天没找到原因。不知道还有没有更好的方法。