【问题标题】:Webdeploy Publish Profile password savingWebdeploy 发布配置文件密码保存
【发布时间】:2012-12-07 11:56:19
【问题描述】:

我将发布配置文件连同所有登录信息一起保存到 .xml 中。但是当我将此 XML 导入另一台计算机并尝试发布时,它会说我的密码不正确。

如何才能将密码正确保存到发布配置文件并与其他计算机兼容?

【问题讨论】:

  • 这些电脑的操作系统是一样的吗?
  • 关于这个的问题。据我所知,在 VisualStudio (2012) 中导入 PublishProfile 时,除了您的 ....pubxml 文件之外,加密的密码会保存在 ....pubxml.user 文件中。您是在另一台机器上使用这个,还是在另一台机器上单独导入 ....PublishProfile?

标签: visual-studio


【解决方案1】:

我的猜测是该程序故意使用当前 PC 的“盐”来混淆密码并生成一个唯一的哈希值。因此,通过配置文件发布功能防止密码被盗。

【讨论】:

  • 我已经看到 Azure 托管正在执行此操作,您可以在其中简单地下载发布文件并进行发布。密码也在里面。所以它一定是可行的,我只是不确定如何。
  • @user1785999 从 Azure 门户下载的包含密码的文件是 *.PublishSettings 文件,而 Visual Studio 的发布配置文件是 *.pubxml 文件。他们有不同的模式。 *.pubxml 文件实际上是一个有效的 MSBuild 目标文件,而 PublishSettings 只是一个普通的旧 XML 文件。我同意“发布设置文件”和“发布配置文件”这两个术语过于相似,会导致这种混淆。
【解决方案2】:

正如 user1785999 所说,您可以将密码保存为纯文本,只需将密码元素添加到您的 .pubxml 文件中:

    <UserName>YourName</UserName>
    <Password>YourPassword</Password>

【讨论】:

  • 那不行,我认为密码不是 pubxml 文件中的有效字段。
【解决方案3】:

如果您希望发布配置文件在不同的计算机上工作,您需要以纯文本形式保存密码。

【讨论】:

  • 这样做的咒语是什么?
  • 也许在构建服务器上使用配置文件?至少我的情况是这样。我来到这里是因为 TFS 2015 Build vNext 仍然无法识别我的明文密码...
  • 如何以纯文本形式保存密码?
  • 普通密码可以存储在 .pubxml 文件的Project/PropertyGroup/Password XML 元素中(由 VisualStudio 使用)。例如,此文件可以与 dotnet publish YOURPROJECT.csproj /p:PublishProfile:"YOUR-PROFILE-NAME" 一起使用
  • 但是密码是什么?!我创建个人资料时从未指定密码,所以我不知道密码是什么!!!
【解决方案4】:

只是添加一个额外的答案,这可能是特定于 .pubxml 的版本,但您可以添加这些行以确保 Visual Studio 保存密码。

确保本地帐户使用“.\”前缀,Active Directory 帐户使用“域\”前缀。

<UserName>.\PubUser1</UserName>
<UserPWD>Password1234</UserPWD>
<_SavePWD>True</_SavePWD>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-28
    • 1970-01-01
    • 2014-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-23
    相关资源
    最近更新 更多