我已使用Visual Studio创建发布配置文件。它将信息保存到位于项目目录根目录中的MyProject.Publish.xml中。
我希望在CI服务器上执行的MSBuild任务使用该文件作为其基本设置。理想情况下,如果我可以通过命令行参数覆盖属性,那将会很麻烦。
这可能吗?如果是这样,语法是什么?
例如,我正在寻找类似的东西:
MSBuild MyProject.csproj /P:UsePublishProfile=True /P:UserName=deployUser /P:Password=MyPassword
最佳答案
很遗憾地告诉您,VS2010使用的publish.xml文件并非设计用于这种方式。实际上,它甚至还没有设计成可与他人 checkin /共享。
读取/写入这些文件的逻辑严格包含在Visual Studio中,并且不能通过MSBuild获得。 因此,今天没有做到这一点的直接方法。 调用msbuild.exe时,您必须传递各个属性名称/值。您可以在Team Build: Publish locally using MSDeploy上看到我回答的类似问题,以了解更多信息。
VS 11开发人员预览说明
正是这样,您知道我们已经在即将发布的Visual Studio版本中解决了此问题。您可以通过下载VS 11开发人员预览来查看是否。现在,所有配置文件都保存到它们自己的文件中(在“解决方案资源管理器”中“属性”节点的PublishProfiles下)。现在,他们可以 checkin 并与团队成员共享。这些文件现在是MSBuild文件,您可以根据需要自定义它们。为了从命令行发布,只需传递DeployOnBuild = true并将PublishProfile设置为配置文件的名称。例如:
msbuild.exe MyProject.csproj /p:DeployOnBuild=true;PublishProfile=MyProfile
关于visual-studio-2010 - 如何配置MSBuild以将保存的publishProfile用于WebDeploy?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4890289/