我使用以下命令行发布ASP.NET
网站:
msbuild.exe "C:\somerepository/solution.sln" /p:Configuration="Production"
/p:DeployOnBuild=true /p:PublishProfile="Production"
有效。但是,我必须指定发布配置文件和配置。 如果未设置配置参数,则它不起作用(在发布web.config后,未使用正确的配置文件进行转换)。
当您使用界面时(通过右键单击项目并选择发布),它只会要求您选择一个配置文件(并根据该配置文件读取配置,不需要指定它):
msbuild命令行可以使用相同的机制吗?
我也试图指定项目(而不是解决方案),但它不起作用:
msbuild.exe "C:\somerepository/project.csproj" /p:Configuration="Production"
/p:DeployOnBuild=true /p:PublishProfile="Production"
答案 0 :(得分:-1)
您可以修改.csproj
并添加新的条件Configuration
属性。遗憾的是,您无法在.pubxml
内覆盖Import
而不会改变<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Configuration Condition=" '$(PublishProfile)' != '' ">$(PublishProfile)</Configuration>
,因为它太长而无法生效。
{{1}}