我有一个.NET框架项目,其中包含使用加密密码的发布配置文件。所以我有2个发布文件:.pubxml和.pubxml.user(这个包含加密密码)。
但是,如果我像这样运行msbuild:
msbuild <project>.csproj /p:DeployOnBuild /p:PublishProfile=<file>.pubxml
我收到401身份验证错误。
是否可以以某种方式传递加密密码,或者告诉msbuild使用.pubxml.user文件?
答案 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 answer和this document。
希望这有帮助。