将加密密码传递给msbuild

时间:2017-10-06 10:09:00

标签: .net visual-studio msbuild visual-studio-2017

我有一个.NET框架项目,其中包含使用加密密码的发布配置文件。所以我有2个发布文件:.pubxml和.pubxml.user(这个包含加密密码)。

但是,如果我像这样运行msbuild:

msbuild <project>.csproj /p:DeployOnBuild /p:PublishProfile=<file>.pubxml 

我收到401身份验证错误。

是否可以以某种方式传递加密密码,或者告诉msbuild使用.pubxml.user文件?

1 个答案:

答案 0 :(得分:2)

  

是否可以以某种方式传递加密密码,或者告诉msbuild使用.pubxml.user文件?

MSBuild命令行无法传递加密密码。正如您所说,.pubxml.user文件包含加密形式的密码。通过MSBuild命令行部署时,MSBuild无法访问此文件

此外,据我所知,加密密码用于每个帐户和每台计算机。因此,当您将项目部署到其他计算机或帐户时,当您将项目部署到其他计算机或帐户时,加密密码将无效。

因此我们需要使用MSBuild命令行传递实际名称和密码;

msbuild <path-to-project-file> /p:DeployOnBuild=true /p:PublishProfile=<Publish Profile> /p:Username=<ACTUAL_USERNAME> /p:Password=<ACTUAL_PASSWORD>

有关详细信息,请参阅Sayed`s answerthis document

希望这有帮助。