В SO есть несколько вопросов о том, как публиковать веб-сайт ASP.NET из командной строки (включая мой собственный здесь ), но ни один из них не дает мне решения, которое я хочу:
- Одна выходная папка, как я указал
- Примененные преобразования 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\
Проблема в том, что сюда включен путь к объекту, поэтому он может варьироваться от разработчика к разработчику. - Версия, которая находится в
%DEST_PATH%
- это то, что янужно, но без преобразований Web.config