如何使用命令行中的凭据将配置文件发布到IIS?

时间:2019-05-01 23:07:46

标签: .net iis .net-core

我有一个.NET Core 2.2 Web项目,我想将其发布到与命令行不同的服务器上的IIS中。

为此,我在项目(Properties / PublishProfiles / myProfile.pubxml)中创建了“发布配置文件”。对于用户名/密码,我输入了允许发布到该服务器的凭据。而且我选择保存密码。密码已加密并保存到myProfile.pubxml.user中,现在我可以轻松地从Visual Studio中发布它,而不必输入用户名/密码。

大多数答案似乎都结合了运行以下命令的想法:

dotnet publish -c Release /p:PublishProfile=Properties\PublishProfiles\myProfile.pubxml

问题是该命令似乎忽略了导致MSDEPLOY : error Code: ERROR_USER_NOT_ADMIN. The remote server returned an error : (401) Unauthorized.的用户名/密码

是否有一种方法可以使dotnet publish提取用户名/密码,以便发布操作成功?

1 个答案:

答案 0 :(得分:0)

您不能直接运行msdeploy吗?我还试图通过dotnet publish发布它,但是没有任何运气。最后,我通过像这样运行msdeploy获得了解决方案:

msdeploy -verb:sync -setParam:'IIS Web Application Name'='my.website.com' -source:package="PathToPackage.zip" -dest:auto,computerName='https://my.website.com:8172/msdeploy.axd?site=my.website.com',username=YourUsername,password=YourPW,AuthType='Basic' -allowUntrusted=true

这绝对可以在不使用目标环境上管理员权限的情况下进行。