是否可以使用msbuild发布ASP.NET网站并仅指定发布配置文件(未设置配置参数)

时间:2014-09-11 10:16:34

标签: asp.net msbuild web-deployment

我使用以下命令行发布ASP.NET网站:

msbuild.exe "C:\somerepository/solution.sln" /p:Configuration="Production" 
            /p:DeployOnBuild=true /p:PublishProfile="Production"

有效。但是,我必须指定发布配置文件和配置。 如果未设置配置参数,则它不起作用(在发布web.config后,未使用正确的配置文件进行转换)。

当您使用界面时(通过右键单击项目并选择发布),它只会要求您选择一个配置文件(并根据该配置文件读取配置,不需要指定它):

enter image description here

msbuild命令行可以使用相同的机制吗?

我也试图指定项目(而不是解决方案),但它不起作用:

msbuild.exe "C:\somerepository/project.csproj" /p:Configuration="Production" 
            /p:DeployOnBuild=true /p:PublishProfile="Production"

1 个答案:

答案 0 :(得分:-1)

您可以修改.csproj并添加新的条件Configuration属性。遗憾的是,您无法在.pubxml内覆盖Import而不会改变<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Configuration Condition=" '$(PublishProfile)' != '' ">$(PublishProfile)</Configuration> ,因为它太长而无法生效。

{{1}}