用于发布Visual Studio网站的发布配置文件可以从Visual Studio 2013发布对话框和命令行MsBuild中使用,如本问题中所述read here
C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe
./ProjectRoot/MyProject.csproj /p:DeployOnBuild=true /p:PublishProfile=FileSystemDebug
但是,我想完全摆脱发布配置文件并从命令行执行所有操作 - 因为我不希望发布路径在PublishProfile xml文件中进行硬编码。如何直接在命令行参数中指定相同的选项?我尝试使用OutDir,但是这导致了与PublishProfile中指定的路径不同的行为(额外的_PublishedWebsites
附加到我的路径中)。
答案 0 :(得分:8)
您实际上可以从命令行覆盖PublishProfile设置。你会想要这个参数:
/p:publishUrl=pathToPublishHere
如果是本地文件系统,这应该可以正常工作。
答案 1 :(得分:0)
publish.bat
SET PROJECT="D:\Github\MyWebSite.csproj"
SET MSBUILD_PATH="C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin"
SET PUBLISH_DIRECTORY="C:\MyWebsitePublished"
cd /d %MSBUILD_PATH%
MSBuild %PROJECT% /p:DeployOnBuild=True /p:DeployDefaultTarget=WebPublish /p:WebPublishMethod=FileSystem /p:DeleteExistingFiles=True /p:publishUrl=%PUBLISH_DIRECTORY%
需要在服务器上安装Visual Studio。