Публикация базы данных msbuild не работает из командной строки

Я пытаюсь опубликовать .sqlproj из командной строки с помощью MSBuild с помощью команды: msbuild /t:Publish [MySqlProjPath], но получаю следующую ошибку:

error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.

Что мне кажется странным, так это то, что из Visual Studio 2012 я могу успешно опубликовать тот же проект. Устанавливает ли Visual Studio какое-либо волшебное свойство msbuild перед публикацией, чтобы получить файл .targets из другого каталога?


person Arthur Rizzo    schedule 19.08.2013    source источник


Ответы (1)


Вы должны передать MSBuild следующий аргумент:

/p:VisualStudioVersion=11.0 /t:Rebuild;Publish 

Это указывает msbuild использовать цели VS2012.

Передача VisualStudioVersion требуется, поэтому VS2010 и Vs2012 могут использовать один и тот же файл проекта: т.е. файл проекта не хранит целевую версию VS внутри себя

person Isantipov    schedule 19.08.2013
comment
Это потрясающе, работает как шарм, некоторые из моих решений ожидают компоненты 2013 года, это исправлено /p:VisualStudioVersion=11.0 - person Orn Kristjansson; 07.03.2014