请不要太苛刻,因为我还没有完全正确地理解这一点,但是 msbuild/msdeploy 最近让我有些头疼。希望有人可以提供某种文本阿司匹林吗?所以这就是我想要做的:
我有一个 Web 应用程序项目,它有多个配置,因此有多个 web.config-transforms。
我想从命令行部署这个项目。
我宁愿不想修改它的项目文件。(我希望能够为多个 Web 应用程序执行此操作,因此非常感谢尽可能少地进行编辑)
我希望能够只构建一次,然后从中部署不同的配置。
到目前为止,我使用以下命令从命令行部署:
msbuild D:\pathToFile\DeployVariation01.csproj
/p:Configuration=Debug;
Platform=AnyCpu;
DeployOnBuild=true;
DeployTarget=MSDeployPublish;
MSDeployServiceURL="localhost";
DeployIisAppPath="DeployApp/DeployThis01";
MSDeployPublishMethod=InProc
这正是我想要的,除了它只部署“调试”-配置。我怎样才能通过最小的调整使其也部署我的其他配置?
我在想也许我可以构建一个包含我所有配置的包,然后从中部署并决定“在部署时”部署哪个配置?不幸的是,我几乎被困在这里,我读过的所有方法似乎都需要对项目文件进行一些修改,有没有办法解决这个问题?
更新:我仍然不是我想去的地方:)。
但是我查看了这个PackageWeb-approach (这里也有关于它的有趣视频),它看起来很不错;我现在可以构建一个包含所有转换的包,然后根据需要将其部署到多个配置中。
我不喜欢的一件事是我必须将我的密码以纯文本形式存储到为 powershell 脚本生成的参数文件中,有人知道解决这个问题的方法吗,我真的希望它是一个加密的密码。
其他解决我原来问题的方法仍然值得赞赏。