有人可以解释(比 technet/msdn 文档更好)汽车提供者究竟做了什么,它是如何工作的,以及何时使用它。
这是关于 Web 部署的。我看过很多指定 -dest:auto 的文档,这对我来说并没有什么意义。
自动提供者指定目标上的提供者将与源提供者相同。
例子
msdeploy.exe -verb:sync -source:appHostConfig="MySite" -dest:auto,computername=Server1
当目标参数与 -source 参数相同时,自动提供程序使您能够避免输入 -dest 参数的完整路径。它还消除了将清单文件与存档或包分开复制的需要。
自动提供程序采用您指定的源并使用目标计算机上的相应位置。例如,如果您将 appHostConfig=Site1 指定为源,则目标计算机上的目标将是 Site1。当您想将网站“按原样”同步到远程计算机时,这很有用。
没有意义的例子:
msdeploy.exe -verb:sync -source:package=myapp.zip -dest:auto
你为什么要将目的地完全设置为源?重点是什么?你不是简单地用iteslf覆盖源吗?
在 VS2010 中发布包生成的 cmd 文件生成如下内容:
"C:\Program Files\IIS\Microsoft Web Deploy V2\\msdeploy.exe" -source:package='MySourcePath' -dest:auto"
自动不是意味着源只会覆盖自己吗?但它没有,它实际上更新了 IIS 网站(基于清单中的设置)
我尝试使用包作为目标,在这种情况下,它确实更新了源包而不是 IIS 站点。
这个问题的催化剂是我正在实施 CI,而且我过去一直使用 msbuild/xcopy。我现在想使用 msdeploy。我想了解它,而不是简单地调用从 Visual Studio 生成的myproject.cmd 。
例如,此 SO 链接指定使用 dest 参数的自动提供程序。
谢谢