在 Visual Studio 2012 中,使用发布配置文件和 Web 部署大大简化了部署。然而它仍然缺少一些东西,或者可能我还不知道如何使用它。
- 我更喜欢使用 NTLM 身份验证,而不将用户名和密码(尤其是)存储在发布配置文件中。如何才能做到这一点?如果我将用户名和密码留空,系统会提示我输入。有没有办法像手动修改 .pubxml 文件一样?
- 为什么用户名/密码存储在
PublishProfileName.pubxml
我已经检查了源代码管理而不是PublishProfileName.pubxml.user
这是每个用户本地的?我至少可以保存用户名,但显然不希望将其签入。
- 配置本身不是
PublishProfileName.pubxml
但存储在PublishProfileName.pubxml.user
as LastUsedBuildConfiguration
.
- 平台与上一点相同。
- 我还缺少对多服务器部署的支持。除了发布配置文件之外,我目前还被迫使用批处理文件。
EDIT
适合发布的命令行是
MSBuild.Exe MyProject.sln /p:Configuration=QA /p:DeployOnBuild=true;PublishProfile=PublishToQA;AllowUntrustedCertificate=true /p:authType=NTLM /p:UserName=
在此我想省略/p:Configuration=QA
如果配置成为发布配置文件本身的一部分。
对你的问题的一些回答。
- 我更喜欢使用 NTLM 身份验证,而不将用户名和密码(尤其是)存储在发布配置文件中。怎么能
这可怎么办?如果我将用户名和密码留空,我就是
提示它。有没有办法像手动修改 .pubxml
文件?
您的身份验证通常由 Web 部署的托管方式驱动。默认情况下,如果您使用 Web 管理服务,则您将使用 IIS 用户进行身份验证。使用 IIS 用户,您可以控制哪些用户有权访问特定站点/应用程序。不过,您也可以将 WMSVC 配置为使用 Windows 身份验证。如果您在使用 VS 处理这些场景时遇到问题,请告诉我。
如果您使用远程代理服务来托管 Web 部署,那么在这种情况下您将使用 Windows 身份验证。
- 为什么用户名/密码存储在
PublishProfileName.pubxml
我已经检查了源代码管理而不是PublishProfileName.pubxml.user
这是每个用户本地的?我可以
至少保存用户名,但显然不希望被检查
在。
我们有另一种机制供您确定哪些信息是私有/共享的。除密码外,所有发布信息均共享(并默认签入)。为了简化设计,您可以拥有一个共享的发布配置文件,也可以拥有一个根本不共享的发布配置文件。您的个人资料中不存在某些字段共享而其他字段不共享的中间情况。密码在这里是特殊情况,并在 .pubxml.user 文件中按每个用户/每台机器进行加密。
如果您想拥有私有发布配置文件,那么您可以简单地不签入与发布配置文件对应的 .pubxml 文件。这些文件存储在 Properties\PublishProfiles(对于 VB 则为 My Project\PublishProfiles)中,只是将它们从项目中排除,并且不签入文件。发布对话框会查找磁盘上的配置文件,而不仅仅是其中的配置文件该项目。一切都应该继续进行。
我们不支持在 .pubxml.user 文件中选择性存储值的概念。发布对话框将仅在该文件中存储一定数量的值。代替
- 配置本身不是
PublishProfileName.pubxml
但存储在PublishProfileName.pubxml.user
as LastUsedBuildConfiguration
.
- 平台与上一点相同。
这是一个错误,它应该存储在 .pubxml 文件中,而不是 .pubxml.user 文件中。我们已经修复了这个问题,但还没有机会发布更新。
无法在发布配置文件中设置配置属性。配置属性是构建过程的核心部分。更具体地说,我们没有将此属性称为“配置”的原因是因为在构建和发布期间将 .pubxml 文件导入到 .csproj/.vbproj 的定义中。由于其他属性是根据配置定义的,一旦设置该值就无法更改。我刚刚在博客上写了太多关于这个主题的细节http://sedodream.com/2012/10/27/MSBuildHowToSetTheConfigurationProperty.aspx http://sedodream.com/2012/10/27/MSBuildHowToSetTheConfigurationProperty.aspx。此限制是 MSBuild 的问题,而不是发布限制。对于命令行,您应该按以下方式指定配置:
msbuild.exe myproj.csproj /p:...(其他属性)... /p:Configuration=
- 我还缺少对多服务器部署的支持。除了发布配置文件之外,我目前还被迫使用批处理文件。
我们对此没有直接支持,但如果您扩展您的需求,我也许可以提供帮助。仅供参考,我有一个您可能感兴趣的扩展。我已将 5 分钟的视频发布到http://sedodream.com/2012/03/14/PackageWebUpdatedAndVideoBelow.aspx http://sedodream.com/2012/03/14/PackageWebUpdatedAndVideoBelow.aspx.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)