我有一个.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
提取用户名/密码,以便发布操作成功?
答案 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
这绝对可以在不使用目标环境上管理员权限的情况下进行。