Не хотите использовать devenv для создания и публикации решения Visual Studio 2012?

Я пытаюсь объединить проект Visual Studio 2010 с 2012 годом. Решение 2010 года имело проект развертывания, выходные данные которого можно реплицировать путем публикации в 2012 году. Наш сценарий сборки выглядит примерно так:

<target name="buildSolution">
    <delete file="${BuildRootFolder}\build.log" />
    <exec program="devenv.exe" verbose="true" timeout="2400000"
        commandline='/out build.log ${BuildRootFolder}\Solution.sln /Build "Release" /deploy Solution'
        basedir="C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE">
        <environment>
            <variable name="PATH"
            value="blah blah....">
        </environment>
    </exec>    
</target>

Как я могу обновить это, чтобы Опубликовать один из проектов в этом решении, используя профиль публикации, который я определил?

1 ответ

Решение
Forget devenv and use msbuild.

<property name="MSBuildPath" value="C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe"/>
    <target name="buildSolution" depends="clean">
        <exec program="${MSBuildPath}">
            <arg line='"${BuildRootFolder}\Solution.sln"' />
            <arg line='/property:Configuration="Release";DeployOnBuild=true;PublishProfile=Deployment' />
            <arg value="/target:Build" />
            <arg value="/verbosity:normal" />
            <arg value="/nologo" />
        </exec>
    </target>
Другие вопросы по тегам