如何使用命令行发布网站并使用某个发布配置文件?

16

类似如下命令:

msbuild /t:publish [使用发布配置文件名称] someproject.csproj

2个回答

23

运行该msbuild命令后,我的web.config最终变成了这样:<connectionStrings> <add name="principal" connectionString="$(ReplacableToken_principal-Web.config Connection String_0)" providerName= .. - Jhonny D. Cano -Leftware-
@Jhonny,你需要AutoParameterizationWebConfigConnectionStrings参数,我已经更新了我的答案。 - Pavel Chuchuva

3
这是一种替代方案,用MsBuild文件中的MsBuild目标来实现Pavel的解决方案:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="build"  
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <PropertyGroup>
        <Configuration Condition=" '$(Configuration)' == '' ">Release</Configuration>
        <OutputDirectory>$(DeploymentProject)\bin\$(Configuration)</OutputDirectory>
        <OutputPath>C:\Inetpub\wwwroot</OutputPath>
    </PropertyGroup>
    <Target Name="build">
        <MSBuild 
        Projects="Your Solution File.sln"
        Properties="Configuration=$(Configuration);DeployOnBuild=true;DeployTarget=Package;_PackageTempDir=$(OutputPath);AutoParameterizationWebConfigConnectionStrings=false"
        >
        </MSBuild>
    </Target>
</Project>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接