ASP.NET Core应用GUI发布正常,CLI发布遇ERROR_USER_UNAUTHORIZED如何解决?
方法1:命令行直接传入密码参数
执行发布命令时,通过-p:Password参数直接指定部署密码:
dotnet publish -p:PublishProfile="Properties\PublishProfiles\IISProfile.pubxml" -p:Password="你的部署密码"
方法2:修改pubxml配置文件配置密码
打开IISProfile.pubxml文件,在<PropertyGroup>节点内添加密码配置:
<PropertyGroup> <!-- 保留现有配置项 --> <Password>你的部署密码</Password> </PropertyGroup>
若担心明文密码泄露,可通过用户密钥管理敏感信息:
- 初始化用户密钥:
dotnet user-secrets init
- 将密码存入用户密钥:
dotnet user-secrets set "Publish:Password" "你的部署密码"
- 修改pubxml文件引用密钥:
<PropertyGroup> <!-- 保留现有配置项 --> <Password>$(Publish:Password)</Password> </PropertyGroup>
方法3:Windows凭据管理器存储密码(Windows环境适用)
- 打开Windows凭据管理器(搜索“凭据管理器”)
- 选择「Windows凭据」,点击「添加普通凭据」
- 填写信息:
- 网络地址:目标IIS服务器地址(如
http://你的服务器IP) - 用户名:部署专用用户名
- 密码:部署密码
- 网络地址:目标IIS服务器地址(如
- 重新执行
dotnet publish命令,CLI会自动读取凭据管理器中的密码
方法4:检查pubxml的身份验证配置
确认pubxml文件中的<AuthType>配置与服务器匹配,IIS部署常用Basic或NTLM:
<PropertyGroup> <AuthType>Basic</AuthType> <!-- 其他配置项 --> </PropertyGroup>
若使用NTLM验证,确保运行CLI的当前用户拥有目标服务器的访问权限。
内容的提问来源于stack exchange,提问作者eleethesontai
相关产品推荐
相关产品推荐

