从命令行bat文件(最终的.bat文件)发布ASP.NET网站

时间:2012-01-30 10:04:45

标签: asp.net-mvc deployment msbuild

这里有很多关于如何从命令行发布ASP.NET网站的问题(包括我自己的here),但没有一个问题让我找到了我想要的解决方案:

  • 我指定的单个输出文件夹
  • 应用Web.config转换

我已经接近了对我有用的东西,但仍有一些问题 以下是我到目前为止的情况:

SET TEMP_PATH=c:\_MyProject\
SET DEST_PATH=%TEMP_PATH%_Output\
SET CSPROJ_PATH=.\MyProject\MyProject.csproj
SET CONFIGURATION=Release
SET LOG_FILE=MyProjectDeploy.log

C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe ^
%CSPROJ_PATH% ^
/p:Configuration=%CONFIGURATION%;DeployOnBuild=True;PackageAsSingleFile=False;AutoParameterizationWebConfigConnectionStrings=False ^
/property:OutDir=%TEMP_PATH% ^
/property:WebProjectOutputDir=%DEST_PATH% ^
/l:FileLogger,Microsoft.Build.Engine;logfile=%LOG_FILE%

但我的剧本仍有这些问题:

  • 带有一个带应用转换的Web.config的版本位于文件夹结构的深层:C:\_MyProject\_PublishedWebsites\MyProject_Package\Archive\Content\C_C\<Long path that replicate my folder structure>\obj\Release\Package\PackageTemp\此处包含了probject路径的问题,因此它因开发人员而异。
  • 位于%DEST_PATH%的版本是我需要的,但没有Web.config转换

1 个答案:

答案 0 :(得分:0)

似乎存在最终解决方案:

https://stackoverflow.com/a/3452664/118810

它也适用于解决方案。