Publishing my asp.net mvc application via script and not Visual Studio

别来无恙 提交于 2019-12-04 17:12:35

This should give you the same result as publishing from within Visual Studio:

<Project DefaultTargets="BuildAndPublish" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets" />

    <PropertyGroup>
        <ProjectFile>C:\PetProject\PetProject.csproj</ProjectFile >
        <OutDir>C:\PetProject\MyPublish</OutDir>
    </PropertyGroup>

    <Target Name="BuildAndPublish">
        <MSBuild Projects="$(ProjectFile)" Targets="Package" Properties="Configuration=Release;PackageLocation=$(OutDir)\MSDeploy\Package.zip;_PackageTempDir=$(OutDir)\Temp" />
    </Target>

</Project>

for your project.

Don't forget to import Microsoft.Web.Publishing.targets which contains the Package target (which I mixed up with Publish in my inital answer).

If you want to build your solution your script should look something like this:

<Project DefaultTargets="BuildAndPublish" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets" />

    <PropertyGroup>
        <OutDir>C:\PetProject\MyPublish\</OutDir>
    </PropertyGroup>

    <ItemGroup>
        <Solution Include="C:\PetProject\PetProject.sln">
            <Properties>
                OutDir=$(OutDir);
                Platform=Any CPU;
                Configuration=Release;
                DeployOnBuild=True;
                DeployTarget=Package;
                PackageLocation=$(OutDir)\MSDeploy\Package.zip;
                _PackageTempDir=$(OutDir)\Temp
            </Properties>
        </Solution>
    </ItemGroup>

    <Target Name="BuildAndPublish">
        <MSBuild Projects="@(Solution)" />
    </Target>

</Project>

There's a blog post by Code Inside which describes basically the same approach but didn't work when I tried it in my environment.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!