:: 清理log文件
del /S *.log
echo Publish parameters initializing...
::These parameters are not used for the time being
::set DotNetFrameworkPath=%windir%\Microsoft.NET\Framework
::if exist %windir%\SysWOW64 set DotNetFrameworkPath=%windir%\Microsoft.NET\Framework64
:Set user level's parameters
set SolutionPath=%~dp0..\
set SolutionName=ERP
set SolutionFile="%solutionPath%%solutionName%.sln"
set ProjectNames=API1 API2 API3
set PackageNames=API1 API2 API3 Job
set Buildpath=%~dp0..\Builds\
set ZipExe="C:\Program Files\7-Zip\7z.exe"
set IfUseNuGetReStore=N % value is Y or N %
set IfUpdateNuGetTool=N % value is Y or N %
:Set system level's parameters
set Configuration=Debug
set LogLevel=normal
:: Note: That the MSBuild tool version and VisualStudio version and the TargetFramework version have dependencies
set MsBuildToolsversion=14.0
set TargetFrameworkVersion=4.5
set MSBuildpath=C:\Program Files (x86)\MSBuild\%MsBuildToolsversion%\Bin
set MSBuildExe="%MSBuildpath%\MSBuild.exe"
set MSBuildBuildArgs=/t:Rebuild /toolsversion:%MsBuildToolsversion% /verbosity:%LogLevel% /logger:FileLogger,Microsoft.Build.Engine;encoding=utf-8;append=true;logfile="%Buildpath%%solutionName%_Build_%Configuration%.log" /p:Configuration=%Configuration%
set NuGetPath=%solutionPath%.nuget\
set NuGetExe="%NuGetPath%NuGet.exe"
set NuGetArgs=restore %solutionFile%
echo Publish parameters initialize completed.
:: 更新NuGet包
if %IfUseNuGetReStore% == Y (
if %IfUpdateNuGetTool% == Y (
echo NuGet tools Start updating...
%NuGetExe% update -Self
echo NuGet tools update completed.
) else (
echo Not update NuGet tools.
)
echo NuGet Start ReStoreing...
%NuGetExe% %NuGetArgs%
echo NuGet ReStore completed.
) else (
echo Not use NuGet tools.
)
:: 构建解决方案
echo Start solution building...
%MSBuildExe% %solutionFile% %MSBuildBuildArgs%
echo Build solution completed.
:: Win项目发布
echo Start JobConsole project publishing...
%MSBuildExe% "%solutionPath%JobConsole\JobConsole.csproj" /t:Rebuild /verbosity:%LogLevel% /logger:FileLogger,Microsoft.Build.Engine;encoding=utf-8;append=true;logfile="%Buildpath%JobConsole_Publish_%Configuration%.log" /p:Configuration=%Configuration% /p:Platform=Anycpu /p:OutputPath="%Buildpath%JobConsole"
echo Publish JobConsole project completed.
:: Web项目发布
(for %%p in (%ProjectNames%) do (
echo Start %%p project publishing...
%MSBuildExe% "%solutionPath%%%p\%%p.csproj" /t:WebPublish /verbosity:%LogLevel% /logger:FileLogger,Microsoft.Build.Engine;encoding=utf-8;append=true;logfile="%Buildpath%%%p_Publish_%Configuration%.log" /p:Configuration=%Configuration% /p:Platform=Anycpu /p:WebPublishMethod=FileSystem /p:DeleteExistingFiles=True /p:publishUrl="%Buildpath%%%p"
))
:: 7-zip打包
(for %%p in (%PackageNames%) do (
echo Start %%p project packing...
%ZipExe% a -t7z "%Buildpath%%%p_%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%.7z" "%Buildpath%%%p/*" -r -x!*.config -x!*bak
echo Pack %%p project completed.
))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。